{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/views/policyholder/Register.vue?2577","webpack:///./src/views/ratequote/Coverages.vue?854b","webpack:///./src/views/blog/components/BlogCards.vue?196c","webpack:///./src/views/content/ContactUs.vue?79a0","webpack:///./src/views/layout/components/LiveChat.vue?9066","webpack:///./src/views/layout/Footer.vue?b22e","webpack:///./src/views/blog/post/Sidebar.vue?595f","webpack:///./src/views/content/AboutUs.vue?1b91","webpack:///./src/views/policyholder/policy/PolicyDocumentList.vue?132e","webpack:///./src/views/services/components/ServicesTabs.vue?0505","webpack:///./src/views/layout/components/MobileAppLinks.vue?5995","webpack:///./src/views/agents/FindAnAgent.vue?52b1","webpack:///./src/views/content/components/FAQs.vue?1b25","webpack:///./src/views/layout/components/MobileAppCard.vue?ccd9","webpack:///./src/views/policyholder/ForgotPassword.vue?2520","webpack:///./src/views/layout/components/MobileAppBanner.vue?d229","webpack:///./src/views/services/coverages/CoverageCard.vue?8264","webpack:///./src/views/agents/components/MeetAgents.vue?e54f","webpack:///./src/views/policyholder/components/IdleNotification.vue?0774","webpack:///./src/views/ratequote/AboutYou.vue?af7d","webpack:///./src/views/ratequote/Vehicles.vue?9780","webpack:///./src/views/policyholder/components/PaymentMenu.vue?ea18","webpack:///./src/views/layout/HeaderNotification.vue?804e","webpack:///./src/views/ratequote/Drivers.vue?7e91","webpack:///./src/views/claims/components/ClaimsNumbers.vue?98fb","webpack:///./src/views/layout/navigation/QuickLinksHeaderNavigation.vue?a242","webpack:///./src/views/blog/BlogPost.vue?ecbb","webpack:///./src/views/agents/AgentDetails.vue?3510","webpack:///./src/views/claims/ClaimReport.vue?c49b","webpack:///./src/views/policyholder/Login.vue?0d25","webpack:///./src/views/ratequote/QuoteLayout.vue?832b","webpack:///./src/App.vue","webpack:///./src/App.vue?3746","webpack:///./src/mixins/errorMessages.js","webpack:///./src/store/modules/app.js","webpack:///./src/store/modules/agentcounty.js","webpack:///./src/store/modules/blog.js","webpack:///./src/store/modules/claims.js","webpack:///./src/store/modules/documents.js","webpack:///./src/mixins/googleSettings.js","webpack:///./src/store/modules/location.js","webpack:///./src/store/modules/member.js","webpack:///./src/store/modules/payments.js","webpack:///./src/store/modules/policy.js","webpack:///./src/store/modules/quotes.js","webpack:///./src/store/modules/services.js","webpack:///./src/store/index.js","webpack:///./src/views/layout/Header.vue","webpack:///./src/views/layout/navigation/Navigation.vue","webpack:///./src/mixins/tfbData.js","webpack:///./src/views/layout/navigation/QuickLinksHeaderNavigation.vue","webpack:///./src/views/content/LenderDock.vue","webpack:///src/views/content/LenderDock.vue","webpack:///./src/views/content/LenderDock.vue?2065","webpack:///./src/views/content/LenderDock.vue?81ae","webpack:///src/views/layout/navigation/QuickLinksHeaderNavigation.vue","webpack:///./src/views/layout/navigation/QuickLinksHeaderNavigation.vue?2edf","webpack:///./src/views/layout/navigation/QuickLinksHeaderNavigation.vue?b7d6","webpack:///src/views/layout/navigation/Navigation.vue","webpack:///./src/views/layout/navigation/Navigation.vue?9bf5","webpack:///./src/views/layout/navigation/Navigation.vue?d97d","webpack:///./src/views/layout/navigation/MobileNavigation.vue","webpack:///src/views/layout/navigation/MobileNavigation.vue","webpack:///./src/views/layout/navigation/MobileNavigation.vue?336f","webpack:///./src/views/layout/navigation/MobileNavigation.vue?eff1","webpack:///src/views/layout/Header.vue","webpack:///./src/views/layout/Header.vue?acdc","webpack:///./src/views/layout/Header.vue?77fd","webpack:///./src/views/layout/HeaderNotification.vue","webpack:///src/views/layout/HeaderNotification.vue","webpack:///./src/views/layout/HeaderNotification.vue?697e","webpack:///./src/views/layout/HeaderNotification.vue?01e5","webpack:///./src/views/layout/Footer.vue","webpack:///./src/views/layout/components/JDPowerBanner.vue","webpack:///src/views/layout/components/JDPowerBanner.vue","webpack:///./src/views/layout/components/JDPowerBanner.vue?c5ec","webpack:///./src/views/layout/components/JDPowerBanner.vue?e45e","webpack:///./src/views/layout/components/MobileAppLinks.vue","webpack:///src/views/layout/components/MobileAppLinks.vue","webpack:///./src/views/layout/components/MobileAppLinks.vue?13b4","webpack:///./src/views/layout/components/MobileAppLinks.vue?5bd5","webpack:///src/views/layout/Footer.vue","webpack:///./src/views/layout/Footer.vue?c742","webpack:///./src/views/layout/Footer.vue?8d20","webpack:///./src/views/layout/MainContent.vue","webpack:///./src/views/layout/components/ScrollToTop.vue","webpack:///src/views/layout/components/ScrollToTop.vue","webpack:///./src/views/layout/components/ScrollToTop.vue?2148","webpack:///./src/views/layout/components/ScrollToTop.vue?13c3","webpack:///./src/views/layout/components/LiveChat.vue","webpack:///src/views/layout/components/LiveChat.vue","webpack:///./src/views/layout/components/LiveChat.vue?0065","webpack:///./src/views/layout/components/LiveChat.vue?90dc","webpack:///src/views/layout/MainContent.vue","webpack:///./src/views/layout/MainContent.vue?5fe5","webpack:///./src/views/layout/MainContent.vue?8d62","webpack:///./src/views/services/ServiceInformation.vue","webpack:///./src/views/layout/components/StarDivider.vue","webpack:///src/views/layout/components/StarDivider.vue","webpack:///./src/views/layout/components/StarDivider.vue?d217","webpack:///./src/views/layout/components/StarDivider.vue?e172","webpack:///./src/views/services/coverages/ServiceCoverages.vue","webpack:///./src/views/services/coverages/CoverageCard.vue","webpack:///src/views/services/coverages/CoverageCard.vue","webpack:///./src/views/services/coverages/CoverageCard.vue?8195","webpack:///./src/views/services/coverages/CoverageCard.vue?e454","webpack:///./src/views/services/coverages/OptionalCoverageItem.vue","webpack:///src/views/services/coverages/OptionalCoverageItem.vue","webpack:///./src/views/services/coverages/OptionalCoverageItem.vue?5546","webpack:///./src/views/services/coverages/OptionalCoverageItem.vue?52f9","webpack:///src/views/services/coverages/ServiceCoverages.vue","webpack:///./src/views/services/coverages/ServiceCoverages.vue?93d9","webpack:///./src/views/services/coverages/ServiceCoverages.vue?0a61","webpack:///./src/views/services/coverages/ServiceDiscounts.vue","webpack:///./src/views/services/coverages/DiscountItem.vue","webpack:///src/views/services/coverages/DiscountItem.vue","webpack:///./src/views/services/coverages/DiscountItem.vue?8cd4","webpack:///./src/views/services/coverages/DiscountItem.vue?caaa","webpack:///src/views/services/coverages/ServiceDiscounts.vue","webpack:///./src/views/services/coverages/ServiceDiscounts.vue?4a90","webpack:///./src/views/services/coverages/ServiceDiscounts.vue?1c17","webpack:///./src/views/services/components/DriveNSaveSection.vue","webpack:///src/views/services/components/DriveNSaveSection.vue","webpack:///./src/views/services/components/DriveNSaveSection.vue?a89d","webpack:///./src/views/services/components/DriveNSaveSection.vue?fa39","webpack:///./src/views/blog/components/BlogCards.vue","webpack:///src/views/blog/components/BlogCards.vue","webpack:///./src/views/blog/components/BlogCards.vue?ff0d","webpack:///./src/views/blog/components/BlogCards.vue?e97a","webpack:///./src/views/content/components/Video.vue","webpack:///src/views/content/components/Video.vue","webpack:///./src/views/content/components/Video.vue?b07a","webpack:///./src/views/content/components/Video.vue?81a4","webpack:///./src/views/content/components/FAQs.vue","webpack:///src/views/content/components/FAQs.vue","webpack:///./src/views/content/components/FAQs.vue?7551","webpack:///./src/views/content/components/FAQs.vue?c650","webpack:///src/views/services/ServiceInformation.vue","webpack:///./src/views/services/ServiceInformation.vue?ae7b","webpack:///./src/views/services/ServiceInformation.vue?79e4","webpack:///./src/views/blog/BlogMain.vue","webpack:///src/views/blog/BlogMain.vue","webpack:///./src/views/blog/BlogMain.vue?7d6e","webpack:///./src/views/blog/BlogMain.vue?34dd","webpack:///./src/views/blog/BlogPost.vue","webpack:///./src/views/blog/BlogPost.vue?e07e","webpack:///./src/views/blog/BlogPost.vue?a17a","webpack:///./src/views/blog/BlogListing.vue","webpack:///src/views/blog/BlogListing.vue","webpack:///./src/views/blog/BlogListing.vue?27bc","webpack:///./src/views/blog/BlogListing.vue?1637","webpack:///./src/views/content/PageNotFound.vue","webpack:///src/views/content/PageNotFound.vue","webpack:///./src/views/content/PageNotFound.vue?d5ec","webpack:///./src/views/content/PageNotFound.vue?4dcd","webpack:///./src/views/content/Home.vue","webpack:///./src/views/agents/components/MeetAgents.vue","webpack:///./src/views/agents/components/AgentCards.vue","webpack:///src/views/agents/components/AgentCards.vue","webpack:///./src/views/agents/components/AgentCards.vue?7dac","webpack:///./src/views/agents/components/AgentCards.vue?9529","webpack:///./src/views/agents/components/AgentMap.vue","webpack:///src/views/agents/components/AgentMap.vue","webpack:///./src/views/agents/components/AgentMap.vue?0b7d","webpack:///./src/views/agents/components/AgentMap.vue?e6f6","webpack:///src/views/agents/components/MeetAgents.vue","webpack:///./src/views/agents/components/MeetAgents.vue?a9bb","webpack:///./src/views/agents/components/MeetAgents.vue?9823","webpack:///./src/views/services/components/ServicesCards.vue","webpack:///src/views/services/components/ServicesCards.vue","webpack:///./src/views/services/components/ServicesCards.vue?6a99","webpack:///./src/views/services/components/ServicesCards.vue?89f4","webpack:///./src/views/services/components/ServicesTabs.vue","webpack:///src/views/services/components/ServicesTabs.vue","webpack:///./src/views/services/components/ServicesTabs.vue?1127","webpack:///./src/views/services/components/ServicesTabs.vue?e5b3","webpack:///./src/views/blog/components/BlogFeed.vue","webpack:///src/views/blog/components/BlogFeed.vue","webpack:///./src/views/blog/components/BlogFeed.vue?3108","webpack:///./src/views/blog/components/BlogFeed.vue?abe5","webpack:///./src/views/layout/components/MobileAppCard.vue","webpack:///src/views/layout/components/MobileAppCard.vue","webpack:///./src/views/layout/components/MobileAppCard.vue?858a","webpack:///./src/views/layout/components/MobileAppCard.vue?ba75","webpack:///src/views/content/Home.vue","webpack:///./src/views/content/Home.vue?2335","webpack:///./src/views/content/Home.vue?c098","webpack:///./src/views/content/AboutUs.vue","webpack:///src/views/content/AboutUs.vue","webpack:///./src/views/content/AboutUs.vue?82b4","webpack:///./src/views/content/AboutUs.vue?d5ce","webpack:///./src/views/content/FindASalesManager.vue","webpack:///src/views/content/FindASalesManager.vue","webpack:///./src/views/content/FindASalesManager.vue?e10c","webpack:///./src/views/content/FindASalesManager.vue?94f8","webpack:///./src/views/content/Careers.vue","webpack:///src/views/content/Careers.vue","webpack:///./src/views/content/Careers.vue?d298","webpack:///./src/views/content/Careers.vue?be14","webpack:///./src/views/content/SearchResults.vue","webpack:///src/views/content/SearchResults.vue","webpack:///./src/views/content/SearchResults.vue?5cec","webpack:///./src/views/content/SearchResults.vue?8749","webpack:///./src/views/content/ContactUs.vue","webpack:///./src/views/claims/components/ClaimsNumbers.vue","webpack:///src/views/claims/components/ClaimsNumbers.vue","webpack:///./src/views/claims/components/ClaimsNumbers.vue?5d8f","webpack:///./src/views/claims/components/ClaimsNumbers.vue?18c1","webpack:///./src/views/layout/components/RequiredFieldsRow.vue","webpack:///src/views/layout/components/RequiredFieldsRow.vue","webpack:///./src/views/layout/components/RequiredFieldsRow.vue?895a","webpack:///./src/views/layout/components/RequiredFieldsRow.vue?bfd9","webpack:///src/views/content/ContactUs.vue","webpack:///./src/views/content/ContactUs.vue?a5cd","webpack:///./src/views/content/ContactUs.vue?e551","webpack:///./src/views/content/TermsConditions.vue","webpack:///src/views/content/TermsConditions.vue","webpack:///./src/views/content/TermsConditions.vue?a0da","webpack:///./src/views/content/TermsConditions.vue?b247","webpack:///./src/views/content/JointPrivacy.vue","webpack:///src/views/content/JointPrivacy.vue","webpack:///./src/views/content/JointPrivacy.vue?9d2e","webpack:///./src/views/content/JointPrivacy.vue?0244","webpack:///./src/views/content/DMCA.vue","webpack:///src/views/content/DMCA.vue","webpack:///./src/views/content/DMCA.vue?2796","webpack:///./src/views/content/DMCA.vue?e73e","webpack:///./src/views/content/RequiredNotices.vue","webpack:///src/views/content/RequiredNotices.vue","webpack:///./src/views/content/RequiredNotices.vue?52a1","webpack:///./src/views/content/RequiredNotices.vue?1dcb","webpack:///./src/views/agents/FindAnAgent.vue","webpack:///src/views/agents/FindAnAgent.vue","webpack:///./src/views/agents/FindAnAgent.vue?551e","webpack:///./src/views/agents/FindAnAgent.vue?376b","webpack:///./src/views/agents/AgentDetails.vue","webpack:///./src/views/agents/components/AgentContact.vue","webpack:///src/views/agents/components/AgentContact.vue","webpack:///./src/views/agents/components/AgentContact.vue?da9e","webpack:///./src/views/agents/components/AgentContact.vue?5ed7","webpack:///src/views/agents/AgentDetails.vue","webpack:///./src/views/agents/AgentDetails.vue?30c2","webpack:///./src/views/agents/AgentDetails.vue?0c93","webpack:///./src/views/agents/AgentListing.vue","webpack:///src/views/agents/AgentListing.vue","webpack:///./src/views/agents/AgentListing.vue?9873","webpack:///./src/views/agents/AgentListing.vue?f441","webpack:///./src/views/agents/CountyDetails.vue","webpack:///src/views/agents/CountyDetails.vue","webpack:///./src/views/agents/CountyDetails.vue?8a4d","webpack:///./src/views/agents/CountyDetails.vue?323b","webpack:///./src/views/agents/CountyListing.vue","webpack:///src/views/agents/CountyListing.vue","webpack:///./src/views/agents/CountyListing.vue?a815","webpack:///./src/views/agents/CountyListing.vue?6010","webpack:///./src/views/claims/ClaimMain.vue","webpack:///./src/views/claims/components/ClaimPointLink.vue","webpack:///src/views/claims/components/ClaimPointLink.vue","webpack:///./src/views/claims/components/ClaimPointLink.vue?9e76","webpack:///./src/views/claims/components/ClaimPointLink.vue?8e7a","webpack:///./src/views/claims/components/RecentClaim.vue","webpack:///src/views/claims/components/RecentClaim.vue","webpack:///./src/views/claims/components/RecentClaim.vue?c551","webpack:///./src/views/claims/components/RecentClaim.vue?f181","webpack:///./src/views/claims/components/ClaimsProcess.vue","webpack:///src/views/claims/components/ClaimsProcess.vue","webpack:///./src/views/claims/components/ClaimsProcess.vue?af79","webpack:///./src/views/claims/components/ClaimsProcess.vue?0b49","webpack:///src/views/claims/ClaimMain.vue","webpack:///./src/views/claims/ClaimMain.vue?656b","webpack:///./src/views/claims/ClaimMain.vue?3a5f","webpack:///./src/views/claims/ClaimReport.vue","webpack:///./src/views/claims/components/Insured.vue","webpack:///src/views/claims/components/Insured.vue","webpack:///./src/views/claims/components/Insured.vue?b62c","webpack:///./src/views/claims/components/Insured.vue?53ea","webpack:///./src/views/claims/components/ThirdParty.vue","webpack:///src/views/claims/components/ThirdParty.vue","webpack:///./src/views/claims/components/ThirdParty.vue?3549","webpack:///./src/views/claims/components/ThirdParty.vue?1484","webpack:///./src/views/claims/components/LossLocation.vue","webpack:///src/views/claims/components/LossLocation.vue","webpack:///./src/views/claims/components/LossLocation.vue?4a0d","webpack:///./src/views/claims/components/LossLocation.vue?3f14","webpack:///src/views/claims/ClaimReport.vue","webpack:///./src/views/claims/ClaimReport.vue?1ef7","webpack:///./src/views/claims/ClaimReport.vue?a0a8","webpack:///./src/views/claims/ClaimReportConfirm.vue","webpack:///src/views/claims/ClaimReportConfirm.vue","webpack:///./src/views/claims/ClaimReportConfirm.vue?f8ea","webpack:///./src/views/claims/ClaimReportConfirm.vue?8c94","webpack:///./src/views/claims/ViewClaim.vue","webpack:///./src/views/claims/components/ViewClaimList.vue","webpack:///src/views/claims/components/ViewClaimList.vue","webpack:///./src/views/claims/components/ViewClaimList.vue?26c1","webpack:///./src/views/claims/components/ViewClaimList.vue?83c4","webpack:///src/views/claims/ViewClaim.vue","webpack:///./src/views/claims/ViewClaim.vue?a444","webpack:///./src/views/claims/ViewClaim.vue?5644","webpack:///./src/views/payments/PaymentOptions.vue","webpack:///src/views/payments/PaymentOptions.vue","webpack:///./src/views/payments/PaymentOptions.vue?3f9a","webpack:///./src/views/payments/PaymentOptions.vue?c987","webpack:///./src/views/payments/LoggedInPayment.vue","webpack:///src/views/payments/LoggedInPayment.vue","webpack:///./src/views/payments/LoggedInPayment.vue?34d2","webpack:///./src/views/payments/LoggedInPayment.vue?79b1","webpack:///./src/views/payments/ChangeEbill.vue","webpack:///src/views/payments/ChangeEbill.vue","webpack:///./src/views/payments/ChangeEbill.vue?4bac","webpack:///./src/views/payments/ChangeEbill.vue?3455","webpack:///./src/views/payments/PremiumFinancePayment.vue","webpack:///src/views/payments/PremiumFinancePayment.vue","webpack:///./src/views/payments/PremiumFinancePayment.vue?3779","webpack:///./src/views/payments/PremiumFinancePayment.vue?3e9c","webpack:///./src/views/payments/RecurringPayments.vue","webpack:///src/views/payments/RecurringPayments.vue","webpack:///./src/views/payments/RecurringPayments.vue?a4c5","webpack:///./src/views/payments/RecurringPayments.vue?5b2d","webpack:///./src/views/payments/InvoiceCloudAutoPay.vue","webpack:///src/views/payments/InvoiceCloudAutoPay.vue","webpack:///./src/views/payments/InvoiceCloudAutoPay.vue?cbb4","webpack:///./src/views/payments/InvoiceCloudAutoPay.vue?f990","webpack:///./src/views/payments/InvoiceCloudPaymentMethods.vue","webpack:///src/views/payments/InvoiceCloudPaymentMethods.vue","webpack:///./src/views/payments/InvoiceCloudPaymentMethods.vue?80b2","webpack:///./src/views/payments/InvoiceCloudPaymentMethods.vue?4233","webpack:///./src/views/payments/ChangeAccountBill.vue","webpack:///src/views/payments/ChangeAccountBill.vue","webpack:///./src/views/payments/ChangeAccountBill.vue?6790","webpack:///./src/views/payments/ChangeAccountBill.vue?1a7b","webpack:///./src/views/policyholder/Layout.vue","webpack:///./src/views/policyholder/header/PolicyHolderHeader.vue","webpack:///./src/views/policyholder/header/Greeting.vue","webpack:///src/views/policyholder/header/Greeting.vue","webpack:///./src/views/policyholder/header/Greeting.vue?0828","webpack:///./src/views/policyholder/header/Greeting.vue?0c2b","webpack:///./src/views/policyholder/header/AgentInfo.vue","webpack:///src/views/policyholder/header/AgentInfo.vue","webpack:///./src/views/policyholder/header/AgentInfo.vue?9e78","webpack:///./src/views/policyholder/header/AgentInfo.vue?6129","webpack:///./src/views/policyholder/components/IdleNotification.vue","webpack:///src/views/policyholder/components/IdleNotification.vue","webpack:///./src/views/policyholder/components/IdleNotification.vue?2371","webpack:///./src/views/policyholder/components/IdleNotification.vue?f75c","webpack:///src/views/policyholder/header/PolicyHolderHeader.vue","webpack:///./src/views/policyholder/header/PolicyHolderHeader.vue?4f76","webpack:///./src/views/policyholder/header/PolicyHolderHeader.vue?65cf","webpack:///src/views/policyholder/Layout.vue","webpack:///./src/views/policyholder/Layout.vue?6927","webpack:///./src/views/policyholder/Layout.vue?63e2","webpack:///./src/views/policyholder/Login.vue","webpack:///src/views/policyholder/Login.vue","webpack:///./src/views/policyholder/Login.vue?ac8e","webpack:///./src/views/policyholder/Login.vue?f179","webpack:///./src/views/policyholder/Register.vue","webpack:///src/views/policyholder/Register.vue","webpack:///./src/views/policyholder/Register.vue?74d6","webpack:///./src/views/policyholder/Register.vue?2341","webpack:///./src/views/policyholder/AgentAccess.vue","webpack:///src/views/policyholder/AgentAccess.vue","webpack:///./src/views/policyholder/AgentAccess.vue?f499","webpack:///./src/views/policyholder/AgentAccess.vue?d47a","webpack:///./src/views/policyholder/ForgotPassword.vue","webpack:///src/views/policyholder/ForgotPassword.vue","webpack:///./src/views/policyholder/ForgotPassword.vue?ba90","webpack:///./src/views/policyholder/ForgotPassword.vue?cb3d","webpack:///./src/views/policyholder/checks/EmailVerification.vue","webpack:///src/views/policyholder/checks/EmailVerification.vue","webpack:///./src/views/policyholder/checks/EmailVerification.vue?649a","webpack:///./src/views/policyholder/checks/EmailVerification.vue?e322","webpack:///./src/views/policyholder/checks/IdConversion.vue","webpack:///src/views/policyholder/checks/IdConversion.vue","webpack:///./src/views/policyholder/checks/IdConversion.vue?b914","webpack:///./src/views/policyholder/checks/IdConversion.vue?c2b4","webpack:///./src/views/policyholder/checks/ResetPassword.vue","webpack:///src/views/policyholder/checks/ResetPassword.vue","webpack:///./src/views/policyholder/checks/ResetPassword.vue?5c1c","webpack:///./src/views/policyholder/checks/ResetPassword.vue?ee76","webpack:///./src/views/policyholder/AccountSummary.vue","webpack:///./src/views/policyholder/components/MembershipHeader.vue","webpack:///src/views/policyholder/components/MembershipHeader.vue","webpack:///./src/views/policyholder/components/MembershipHeader.vue?9431","webpack:///./src/views/policyholder/components/MembershipHeader.vue?28da","webpack:///./src/views/policyholder/components/LinkList.vue","webpack:///./src/views/policyholder/policy/PolicyDocumentList.vue","webpack:///src/views/policyholder/policy/PolicyDocumentList.vue","webpack:///./src/views/policyholder/policy/PolicyDocumentList.vue?255c","webpack:///./src/views/policyholder/policy/PolicyDocumentList.vue?45fd","webpack:///src/views/policyholder/components/LinkList.vue","webpack:///./src/views/policyholder/components/LinkList.vue?32dc","webpack:///./src/views/policyholder/components/LinkList.vue?10a0","webpack:///./src/views/policyholder/components/PrintDate.vue","webpack:///src/views/policyholder/components/PrintDate.vue","webpack:///./src/views/policyholder/components/PrintDate.vue?fc00","webpack:///./src/views/policyholder/components/PrintDate.vue?5b3a","webpack:///./src/views/policyholder/summary/AccountBillBillingDisplay.vue","webpack:///./src/views/policyholder/components/PaymentMenu.vue","webpack:///src/views/policyholder/components/PaymentMenu.vue","webpack:///./src/views/policyholder/components/PaymentMenu.vue?6987","webpack:///./src/views/policyholder/components/PaymentMenu.vue?2587","webpack:///src/views/policyholder/summary/AccountBillBillingDisplay.vue","webpack:///./src/views/policyholder/summary/AccountBillBillingDisplay.vue?b75b","webpack:///./src/views/policyholder/summary/AccountBillBillingDisplay.vue?7c4e","webpack:///./src/views/policyholder/summary/PolicyBillingDisplay.vue","webpack:///src/views/policyholder/summary/PolicyBillingDisplay.vue","webpack:///./src/views/policyholder/summary/PolicyBillingDisplay.vue?1247","webpack:///./src/views/policyholder/summary/PolicyBillingDisplay.vue?185c","webpack:///src/views/policyholder/AccountSummary.vue","webpack:///./src/views/policyholder/AccountSummary.vue?36a5","webpack:///./src/views/policyholder/AccountSummary.vue?ffac","webpack:///./src/views/policyholder/PolicyDetails.vue","webpack:///./src/views/policyholder/policy/PolicyPaymentList.vue","webpack:///src/views/policyholder/policy/PolicyPaymentList.vue","webpack:///./src/views/policyholder/policy/PolicyPaymentList.vue?7c6f","webpack:///./src/views/policyholder/policy/PolicyPaymentList.vue?48dd","webpack:///./src/views/policyholder/policy/BillingDocumentList.vue","webpack:///src/views/policyholder/policy/BillingDocumentList.vue","webpack:///./src/views/policyholder/policy/BillingDocumentList.vue?66e2","webpack:///./src/views/policyholder/policy/BillingDocumentList.vue?2492","webpack:///./src/views/policyholder/policy/GuidewirePolicyCoverages.vue","webpack:///src/views/policyholder/policy/GuidewirePolicyCoverages.vue","webpack:///./src/views/policyholder/policy/GuidewirePolicyCoverages.vue?2077","webpack:///./src/views/policyholder/policy/GuidewirePolicyCoverages.vue?34ec","webpack:///./src/views/policyholder/policy/GuidewireEndorsements.vue","webpack:///src/views/policyholder/policy/GuidewireEndorsements.vue","webpack:///./src/views/policyholder/policy/GuidewireEndorsements.vue?ec41","webpack:///./src/views/policyholder/policy/GuidewireEndorsements.vue?f22a","webpack:///./src/views/policyholder/policy/GuidewireMortgageesLossPayees.vue","webpack:///src/views/policyholder/policy/GuidewireMortgageesLossPayees.vue","webpack:///./src/views/policyholder/policy/GuidewireMortgageesLossPayees.vue?906f","webpack:///./src/views/policyholder/policy/GuidewireMortgageesLossPayees.vue?340c","webpack:///./src/views/policyholder/policy/Vehicles.vue","webpack:///src/views/policyholder/policy/Vehicles.vue","webpack:///./src/views/policyholder/policy/Vehicles.vue?6180","webpack:///./src/views/policyholder/policy/Vehicles.vue?8e0a","webpack:///./src/views/policyholder/policy/Drivers.vue","webpack:///src/views/policyholder/policy/Drivers.vue","webpack:///./src/views/policyholder/policy/Drivers.vue?a55b","webpack:///./src/views/policyholder/policy/Drivers.vue?fb58","webpack:///./src/views/policyholder/policy/UnderlyingLocations.vue","webpack:///src/views/policyholder/policy/UnderlyingLocations.vue","webpack:///./src/views/policyholder/policy/UnderlyingLocations.vue?d374","webpack:///./src/views/policyholder/policy/UnderlyingLocations.vue?3b57","webpack:///./src/views/policyholder/policy/UnderlyingPolicies.vue","webpack:///src/views/policyholder/policy/UnderlyingPolicies.vue","webpack:///./src/views/policyholder/policy/UnderlyingPolicies.vue?7125","webpack:///./src/views/policyholder/policy/UnderlyingPolicies.vue?a60c","webpack:///./src/views/policyholder/policy/FarmLiabilityLocations.vue","webpack:///src/views/policyholder/policy/FarmLiabilityLocations.vue","webpack:///./src/views/policyholder/policy/FarmLiabilityLocations.vue?5935","webpack:///./src/views/policyholder/policy/FarmLiabilityLocations.vue?1266","webpack:///./src/views/policyholder/policy/BillingPaymentHistory.vue","webpack:///src/views/policyholder/policy/BillingPaymentHistory.vue","webpack:///./src/views/policyholder/policy/BillingPaymentHistory.vue?39c3","webpack:///./src/views/policyholder/policy/BillingPaymentHistory.vue?fc09","webpack:///src/views/policyholder/PolicyDetails.vue","webpack:///./src/views/policyholder/PolicyDetails.vue?b5c6","webpack:///./src/views/policyholder/PolicyDetails.vue?929e","webpack:///./src/views/policyholder/AccountManagement.vue","webpack:///./src/views/layout/components/MobileAppBanner.vue","webpack:///src/views/layout/components/MobileAppBanner.vue","webpack:///./src/views/layout/components/MobileAppBanner.vue?a623","webpack:///./src/views/layout/components/MobileAppBanner.vue?ce2b","webpack:///./src/views/policyholder/management/Email.vue","webpack:///src/views/policyholder/management/Email.vue","webpack:///./src/views/policyholder/management/Email.vue?c255","webpack:///./src/views/policyholder/management/Email.vue?91c8","webpack:///./src/views/policyholder/management/PhoneNumber.vue","webpack:///./src/views/policyholder/management/PhoneVerification.vue","webpack:///src/views/policyholder/management/PhoneVerification.vue","webpack:///./src/views/policyholder/management/PhoneVerification.vue?e697","webpack:///./src/views/policyholder/management/PhoneVerification.vue?b93a","webpack:///./src/views/policyholder/management/EnableTextInstructions.vue","webpack:///src/views/policyholder/management/EnableTextInstructions.vue","webpack:///./src/views/policyholder/management/EnableTextInstructions.vue?2e13","webpack:///./src/views/policyholder/management/EnableTextInstructions.vue?80db","webpack:///src/views/policyholder/management/PhoneNumber.vue","webpack:///./src/views/policyholder/management/PhoneNumber.vue?9af5","webpack:///./src/views/policyholder/management/PhoneNumber.vue?6e36","webpack:///./src/views/policyholder/management/Password.vue","webpack:///src/views/policyholder/management/Password.vue","webpack:///./src/views/policyholder/management/Password.vue?c774","webpack:///./src/views/policyholder/management/Password.vue?0ef5","webpack:///./src/views/policyholder/management/Ebill.vue","webpack:///src/views/policyholder/management/Ebill.vue","webpack:///./src/views/policyholder/management/Ebill.vue?913c","webpack:///./src/views/policyholder/management/Ebill.vue?20af","webpack:///./src/views/policyholder/management/InvoiceCloudPaperless.vue","webpack:///src/views/policyholder/management/InvoiceCloudPaperless.vue","webpack:///./src/views/policyholder/management/InvoiceCloudPaperless.vue?0ae9","webpack:///./src/views/policyholder/management/InvoiceCloudPaperless.vue?6411","webpack:///./src/views/policyholder/management/InvoiceCloudTextPayment.vue","webpack:///src/views/policyholder/management/InvoiceCloudTextPayment.vue","webpack:///./src/views/policyholder/management/InvoiceCloudTextPayment.vue?6504","webpack:///./src/views/policyholder/management/InvoiceCloudTextPayment.vue?455f","webpack:///./src/views/policyholder/management/PaperlessPolicy.vue","webpack:///src/views/policyholder/management/PaperlessPolicy.vue","webpack:///./src/views/policyholder/management/PaperlessPolicy.vue?04cd","webpack:///./src/views/policyholder/management/PaperlessPolicy.vue?8f53","webpack:///./src/views/policyholder/management/Membership.vue","webpack:///src/views/policyholder/management/Membership.vue","webpack:///./src/views/policyholder/management/Membership.vue?0dbf","webpack:///./src/views/policyholder/management/Membership.vue?e4b2","webpack:///./src/views/policyholder/management/Communication.vue","webpack:///src/views/policyholder/management/Communication.vue","webpack:///./src/views/policyholder/management/Communication.vue?1926","webpack:///./src/views/policyholder/management/Communication.vue?38f6","webpack:///src/views/policyholder/AccountManagement.vue","webpack:///./src/views/policyholder/AccountManagement.vue?6218","webpack:///./src/views/policyholder/AccountManagement.vue?d0c4","webpack:///./src/views/policyholder/management/Memberships.vue","webpack:///src/views/policyholder/management/Memberships.vue","webpack:///./src/views/policyholder/management/Memberships.vue?8005","webpack:///./src/views/policyholder/management/Memberships.vue?9d47","webpack:///./src/views/policyholder/management/EmailVerificationComplete.vue","webpack:///src/views/policyholder/management/EmailVerificationComplete.vue","webpack:///./src/views/policyholder/management/EmailVerificationComplete.vue?090b","webpack:///./src/views/policyholder/management/EmailVerificationComplete.vue?741d","webpack:///./src/views/policyholder/policy/ChangePolicyPaperless.vue","webpack:///src/views/policyholder/policy/ChangePolicyPaperless.vue","webpack:///./src/views/policyholder/policy/ChangePolicyPaperless.vue?c541","webpack:///./src/views/policyholder/policy/ChangePolicyPaperless.vue?4dec","webpack:///./src/views/ratequote/QuoteLayout.vue","webpack:///./src/views/ratequote/sidebar/ProgressSidebar.vue","webpack:///./src/views/ratequote/sidebar/AsLowAs.vue","webpack:///src/views/ratequote/sidebar/AsLowAs.vue","webpack:///./src/views/ratequote/sidebar/AsLowAs.vue?8b1d","webpack:///./src/views/ratequote/sidebar/AsLowAs.vue?d77a","webpack:///src/views/ratequote/sidebar/ProgressSidebar.vue","webpack:///./src/views/ratequote/sidebar/ProgressSidebar.vue?86ef","webpack:///./src/views/ratequote/sidebar/ProgressSidebar.vue?e324","webpack:///src/views/ratequote/QuoteLayout.vue","webpack:///./src/views/ratequote/QuoteLayout.vue?86fe","webpack:///./src/views/ratequote/QuoteLayout.vue?a4de","webpack:///./src/views/ratequote/AutoQuoteEntry.vue","webpack:///src/views/ratequote/AutoQuoteEntry.vue","webpack:///./src/views/ratequote/AutoQuoteEntry.vue?c812","webpack:///./src/views/ratequote/AutoQuoteEntry.vue?c1b5","webpack:///./src/views/ratequote/AboutYou.vue","webpack:///src/views/ratequote/AboutYou.vue","webpack:///./src/views/ratequote/AboutYou.vue?81fc","webpack:///./src/views/ratequote/AboutYou.vue?4669","webpack:///./src/views/ratequote/Vehicles.vue","webpack:///src/views/ratequote/Vehicles.vue","webpack:///./src/views/ratequote/Vehicles.vue?25f7","webpack:///./src/views/ratequote/Vehicles.vue?c620","webpack:///./src/views/ratequote/Drivers.vue","webpack:///./src/views/ratequote/components/Accident.vue","webpack:///src/views/ratequote/components/Accident.vue","webpack:///./src/views/ratequote/components/Accident.vue?3471","webpack:///./src/views/ratequote/components/Accident.vue?dd11","webpack:///./src/views/ratequote/components/Violation.vue","webpack:///src/views/ratequote/components/Violation.vue","webpack:///./src/views/ratequote/components/Violation.vue?1107","webpack:///./src/views/ratequote/components/Violation.vue?c2a8","webpack:///src/views/ratequote/Drivers.vue","webpack:///./src/views/ratequote/Drivers.vue?b3f6","webpack:///./src/views/ratequote/Drivers.vue?27d5","webpack:///./src/views/ratequote/Coverages.vue","webpack:///src/views/ratequote/Coverages.vue","webpack:///./src/views/ratequote/Coverages.vue?b43c","webpack:///./src/views/ratequote/Coverages.vue?36e7","webpack:///./src/views/ratequote/Disclaimer.vue","webpack:///src/views/ratequote/Disclaimer.vue","webpack:///./src/views/ratequote/Disclaimer.vue?4f5a","webpack:///./src/views/ratequote/Disclaimer.vue?033e","webpack:///./src/views/ratequote/Summary.vue","webpack:///./src/views/ratequote/components/ContactAgent.vue","webpack:///src/views/ratequote/components/ContactAgent.vue","webpack:///./src/views/ratequote/components/ContactAgent.vue?7972","webpack:///./src/views/ratequote/components/ContactAgent.vue?11a0","webpack:///./src/views/ratequote/components/QuoteEmail.vue","webpack:///src/views/ratequote/components/QuoteEmail.vue","webpack:///./src/views/ratequote/components/QuoteEmail.vue?90ba","webpack:///./src/views/ratequote/components/QuoteEmail.vue?6560","webpack:///src/views/ratequote/Summary.vue","webpack:///./src/views/ratequote/Summary.vue?d0fb","webpack:///./src/views/ratequote/Summary.vue?9adf","webpack:///./src/router/index.js","webpack:///./src/mixins/validations.js","webpack:///./src/views/layout/components/CheckboxInput.vue","webpack:///src/views/layout/components/CheckboxInput.vue","webpack:///./src/views/layout/components/CheckboxInput.vue?ab2a","webpack:///./src/views/layout/components/CheckboxInput.vue?7011","webpack:///./src/views/layout/components/RadioGroupInput.vue","webpack:///src/views/layout/components/RadioGroupInput.vue","webpack:///./src/views/layout/components/RadioGroupInput.vue?f226","webpack:///./src/views/layout/components/RadioGroupInput.vue?ae80","webpack:///./src/views/layout/components/SelectInput.vue","webpack:///src/views/layout/components/SelectInput.vue","webpack:///./src/views/layout/components/SelectInput.vue?691b","webpack:///./src/views/layout/components/SelectInput.vue?569b","webpack:///./src/views/layout/components/TextAreaInput.vue","webpack:///src/views/layout/components/TextAreaInput.vue","webpack:///./src/views/layout/components/TextAreaInput.vue?9d2e","webpack:///./src/views/layout/components/TextAreaInput.vue?6923","webpack:///./src/views/layout/components/TextInput.vue","webpack:///src/views/layout/components/TextInput.vue","webpack:///./src/views/layout/components/TextInput.vue?e8b6","webpack:///./src/views/layout/components/TextInput.vue?eead","webpack:///./src/views/layout/components/ErrorMessage.vue","webpack:///src/views/layout/components/ErrorMessage.vue","webpack:///./src/views/layout/components/ErrorMessage.vue?b7f3","webpack:///./src/views/layout/components/ErrorMessage.vue?2020","webpack:///./src/plugins/vuetify.js","webpack:///./src/main.js","webpack:///./src/views/payments/InvoiceCloudAutoPay.vue?80a5","webpack:///./src/views/policyholder/policy/PolicyPaymentList.vue?7616","webpack:///./src/views/blog/components/BlogFeed.vue?ce75","webpack:///./src/views/layout/components/JDPowerBanner.vue?86f0","webpack:///./src/views/content/Careers.vue?f2e7","webpack:///./src/views/policyholder/Layout.vue?6c3c","webpack:///./src/views/claims/components/ClaimsProcess.vue?c64f","webpack:///./src/views/policyholder/management/InvoiceCloudTextPayment.vue?4e46","webpack:///./src/views/ratequote/AutoQuoteEntry.vue?1ae7","webpack:///src/views/blog/BlogPost.vue","webpack:///./src/views/content/SearchResults.vue?b05e","webpack:///./src/views/policyholder/header/PolicyHolderHeader.vue?0f21","webpack:///./src/views/services/components/ServicesCards.vue?02ce","webpack:///./src/views/content/components/Video.vue?c0cf","webpack:///./src/views/blog/post/Pagination.vue?0508","webpack:///./src/views/ratequote/Summary.vue?7d68","webpack:///./src/views/claims/ClaimMain.vue?1ee1","webpack:///./src/views/services/ServiceInformation.vue?57ec","webpack:///./src/views/policyholder/management/InvoiceCloudPaperless.vue?a763","webpack:///./src/views/layout/navigation/Navigation.vue?e26a","webpack:///./src/mixins/helpers.js","webpack:///./src/views/policyholder/AgentAccess.vue?ee16","webpack:///./src/mixins/metaInfo.js","webpack:///./src/views/policyholder/AccountSummary.vue?6cf7","webpack:///./src/views/payments/InvoiceCloudPaymentMethods.vue?61b4","webpack:///./src/views/agents/components/AgentMap.vue?e8cf","webpack:///./src/views/agents/components/AgentCards.vue?9f6c","webpack:///./src/views/layout/navigation/MobileNavigation.vue?c4af","webpack:///./src/views/agents/components/AgentContact.vue?de02","webpack:///./src/views/blog/post/Pagination.vue","webpack:///src/views/blog/post/Pagination.vue","webpack:///./src/views/blog/post/Pagination.vue?80ba","webpack:///./src/views/blog/post/Pagination.vue?5a63","webpack:///./src/views/layout/components/ErrorMessage.vue?f51a","webpack:///./src/views/policyholder/components/PrintDate.vue?2508","webpack:///./src/views/blog/BlogMain.vue?cef0","webpack:///./src/views/ratequote/sidebar/ProgressSidebar.vue?1574","webpack:///./src/views/layout/components/StarDivider.vue?5773","webpack:///./src/views/policyholder/PolicyDetails.vue?8b0c","webpack:///./src/views/agents/CountyDetails.vue?3dcd","webpack:///./src/views/ratequote/Disclaimer.vue?ef80","webpack:///./src/views/blog/post/Sidebar.vue","webpack:///src/views/blog/post/Sidebar.vue","webpack:///./src/views/blog/post/Sidebar.vue?3467","webpack:///./src/views/blog/post/Sidebar.vue?30fb","webpack:///./src/views/policyholder/header/AgentInfo.vue?ad29","webpack:///./src/views/policyholder/components/LinkList.vue?b6ab","webpack:///./src/views/claims/ClaimReportConfirm.vue?893c"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_c","_self","attrs","staticRenderFns","script","component","genericErrorMessage","namePolicyNotFoundErrorMessage","insuredAccessOnlyErrorMessage","sessionErrorMessage","collisionDeductibleRentalErrorMessage","comprehensiveDeductibleRentalErrorMessage","invalidRegistrationIdMessage","UlsObject","this","message","file","line","client","tracker","team","originalFile","functions","s4","Math","floor","random","toString","substring","getClientInfo","builtDetail","navigator","userAgentData","hints","getHighEntropyValues","then","ua","platform","mobile","model","architecture","platformVersion","fullVersionList","v","versionDetail","brand","version","brands","brandDetail","userAgent","browserName","appCodeName","browserVersion","appVersion","encodeXmlString","txt","trim","replace","encodeMessageString","generateErrorPacket","ulsObj","stack","countMessageChunks","logMessage","logMessageClear","startIdx","sharePointListUrl","sharePointSearchUrl","mailServiceUrl","popupIndicatorName","config","crossdomain","headers","Accept","mailConfig","searchTransform","searchResults","rowCount","context","tfbId","returnSearch","TotalRows","Results","SecondaryQueryResults","results","SpecialTermResults","Id","Title","Path","Url","Highlighted","Description","Rank","Photo","PrimaryQueryResult","RelevantResults","Table","Rows","Cells","helpers","methods","containsString","Value","toLowerCase","updatedTitle","updatedPhoto","updatedPath","process","updatedHighlighted","replaceAll","cleanUrlCategoryName","cleanCategoryName","cleanSubCategoryName","cleanCountyName","indexOf","sortedResults","orderBy","error","dispatch","logLevel","fileName","methodName","trackerId","root","parseErrorMessage","errorText","outputErrorText","ErrorMessage","errorMessage","_errorMessage","Error","mutations","SET_ACCESS_PAGE","state","accessPage","SET_IS_LOADING","isLoading","SET_IS_DOCUMENT_LOADING","isDocumentLoading","SET_ERROR_MESSAGE","SET_TFB_ID","SET_JD_POWER","showJdPower","SET_DRAWER","drawer","SET_MODAL","modal","SET_TEXT_ELIGIBLE","textEligible","SET_SEARCH_VISIBLE","searchVisible","SET_LENDERDOCK","lenderdock","SET_QUOTE_AGENT_CODE","quoteAgentCode","SET_REGISTERED_FISERV_PAYMENT_URL","registeredFiservPaymentUrl","SET_NON_REGISTERED_FISERV_PAYMENT_URL","nonRegisteredFiservPaymentUrl","SET_MEMBERSHIP_PAYMENTS_URL","membershipPaymentsUrl","SET_NON_REGISTERED_INVOICE_CLOUD_PAYMENT_URL","nonRegisteredInvoiceCloudPaymentUrl","SET_INVOICE_CLOUD_IFRAME_URL","invoiceCloudIFrameUrl","SET_CLAIM_POINT_URL","claimPointUrl","SET_APPLE_STORE_URL","appleAppStoreLink","SET_GOOGLE_STORE_URL","googleAppStoreLink","SET_PAYMENT_WORDING_DISPLAY","paymentWordingDisplay","SET_LIVE_CHAT_ENABLED","liveChatEnabled","SET_DRIVE_N_SAVE_ENABLED","driveNSaveEnabled","SET_AGERO_ROADSIDE_ENABLED","ageroRoadsideEnabled","SET_CLAIM_POINT_ENABLED","claimPointEnabled","SET_PH_MOBILE_APP_DISPLAY","policyholderMobileAppDisplay","SET_MOBILE_APP_DISPLAY","mobileAppDisplay","SET_GW_PAYMENTS_ENABLED","guidewirePaymentsEnabled","SET_LOGIN_CAPTCHA_ENABLED","loginCaptchaEnabled","SET_CONTACT_UPDATE_ENABLED","contactUpdateEnabled","SET_PHONE_VERIFICATION_ENABLED","phoneVerificationEnabled","ebillEligible","actions","sSection","sTitle","response","commit","checkMobileAppDisplay","popupSession","sessionStorage","getItem","popupCookie","Vue","$cookies","undefined","set","setItem","setAccessPage","sRequest","currentTimestamp","Date","toISOString","Promise","resolve","reject","axios","sApplicationName","StartTime","EndTime","MaintenanceMessage","catch","sTfbId","parsed","JSON","stringify","setIsLoading","setIsDocumentLoading","setErrorMessage","setEbillEligible","ebillStatus","setTextEligible","textStatus","setQuoteAgentCode","agentCode","clearErrorMessage","getStateList","StateCode","StateName","getSearchResults","sSearchTerm","sStartRow","query","getBlogSearchResults","getNotices","getAgentDetails","sAgentCode","getChatPilot","getConfiguration","ConfigValue","getFeatureFlag","getCountyDetails","detailUrl","sCountyName","sBranchCode","toUpperCase","sLineOfBusiness","sEffectiveDate","staticFileReturn","fileResult","File","__deferred","uri","sFileUrl","fileFetchResult","ID","DocumentType","ServerRelativeUrl","getVideosByPage","videoArray","sPage","e","videoEntry","Order","OrderBy","SubTitle","Thumbnail","AlternateThumbnailUrl","sortedVideos","getVideoById","sId","propertyResponse","VideoSetDefaultEncoding","videoUrl","split","Embed","VideoSetEmbedCode","propertyError","getFaqsByKeyword","sKeyword","logToULS","logConfig","chunkCount","messageIndex","messageCounter","location","href","soapPacket","post","sendMail","sendMailRequest","BCC","sBCC","Body","sBody","CC","sCC","From","sFrom","Subject","sSubject","To","sTo","Token","sToken","getters","make","namespaced","agentLookupServiceUrl","countyLookupServiceUrl","agentTransform","agentData","agentDistance","agentName","_preferredName","_lastName","_firstName","agentMailingAddress","buildAddress","_mailingAddress","_mailingAddress2","_mailingCity","_mailingState","_mailingZip","_mailingZip4","agentPhysicalAddress","_physicalAddress","_physicalAddress2","_physicalCity","_physicalState","_physicalZip","_physicalZip4","officeMapUrl","buildMapAddress","agentInfoBox","buildAgentInfoBox","aboutAgent","_aboutText","code","_agentCode","startDate","_agentSinceDate","emailAddress","_emailAddress","faxNumber","removePhoneFormatting","_faxNumber","firstName","lastName","distance","county","branchCode","countyName","agentUrl","mailingAddress","addressLineOne","addressLineTwo","addressLineThree","addressCity","addressState","addressZipCode","addressZipCode4","addressZipCode2","addressLatitude","_mailingLatitude","addressLongitude","_mailingLongitude","mailingAddressDisplay","latitude","_physicalLatitude","longitude","_physicalLongitude","phoneNumber","_phoneNumber","photo","physicalAddress","physicalAddressDisplay","mapUrl","preferredName","designation","_titleDesignation","agentMapInfoBox","dsmTransform","dsmData","dsmName","_designation","officeTransform","officeData","returnOffice","_countyOffice","office","officeDistance","officeMailingAddress","_mailingStreetAddress","_mailingStreetAddress2","officePhysicalAddress","_physicalStreetAddress","_physicalStreetAddress2","officeInfoBox","buildOfficeInfoBox","_name","_branchCode","acos","cos","PI","_latitude","_longitude","sin","officeListing","officeNumber","_officeNumber","salesDistrict","_salesDistrict","physicalLatitude","officeMapInfoBox","getAgentList","agentResponse","getAgentsByOffice","serviceUrl","countyResponse","sAgentEmail","sMemberNumber","agentDetails","sDistance","foundAgents","a","agent","_countyName","_agentName","host","getOfficesByLatLong","sLatitude","sLongitude","sRadius","officeResponse","getOfficesByCounty","dsmResponse","listFields","blogPostNotFound","title","category","sCategory","seodescription","url","sUrl","urlCategory","id","singleBlogPostTransform","foundPost","postUrl","BlogUrlCategory","kebabify","BlogSlug","BlogCategory","BlogSubCategory","postTags","jsonTags","TaxKeyword","Label","seotitle","SeoTitle","subcategory","tags","author","BlogAuthor","illustrator","BlogIllustrator","publishDate","ArticleStartDate","modifiedDate","Modified","headerImage","HeaderImage","blurb","Blurb","SeoDescription","fullUrl","text","BlogText","jsonld","headline","image","datePublished","dateModified","abstract","articleSection","articleBody","mainEntityOfPage","publisher","logo","keywords","singleBlogPostNoJsonTransform","blogPostsTransform","foundPosts","returnPosts","responsePost","builtPost","blogPostsNoJsonTransform","blogPostsFeedTransform","rowOne","rowTwo","rowThree","rowFour","rowId","rowType","posts","rowTwoA","rowTwoB","singlePost","postArray","rowFourA","rowFourB","getDefaultState","postRows","nextPage","getPostListing","sTop","__next","getMorePostListing","getFeedPosts","getNextFeedPosts","getFeaturedPosts","getNextPost","sDate","getPreviousPost","getRelatedPosts","buildUrl","sSubCategory","sExcludeId","sDirection","getFeedPostsByCategory","getPostsByTag","getPostsByTags","k","sKeywords","keyword","getFeedPostsByAuthor","sAuthorName","getPostById","getPostByUrl","ADD_POST_ROWS","RESET_STATE","assign","claimLookupServiceUrl","claimModifyServiceUrl","tokenName","claimTokenName","claim","destination","type","effectiveDate","expirationDate","memberNumber","policyNumber","policySymbol","policyType","policySubtype","externalIdValTxt","companyName","corporationName","hasPhotos","agencyName","agentFirstName","agentLastName","coverages","originalEffectiveDate","policyLocation","policyStatus","policyTypeGw","propertyLocations","vehicleCount","reporter","phoneType","reportingSource","loss","date","time","description","lossLocation","locationObject","city","zip","policeDepartment","policeCaseNumber","primaryInsured","objectId","middleName","suffix","displayName","insuredType","gender","maritalStatus","dateOfBirth","address","addressLine1","addressLine2","primaryInd","phone","licenseNumber","licenseState","licenseClass","driverSequenceNumber","primaryPhone","secondaryPhone","areaCode","prefix","unitNumber","insureds","thirdParties","drivers","vehicles","locations","claimAdjuster","confirmationNumber","claimNumber","selectedFiles","pendingFiles","uploadedFiles","errorFiles","openClaims","closedClaims","SET_UPLOADED_FILES","index","SET_ERROR_FILES","clearToken","remove","getClaimsByMember","claimToken","Authorization","claimResponse","claims","foundClaim","policyList","rootGetters","foundPolicy","PolicyNumber","PolicyType","PolicyDescription","LossDate","parseDate","ClaimStatus","sortedClaims","_","getClaimDetails","sClaimNumber","sPolicyNumber","claimDetailsResponse","claimAdjusters","claimCoverages","claimDTO","claimPayments","claimPayment","claimPayables","claimPayable","foundCoverage","clmCoverageCode","coverageDescription","coverageAmount","transactionAmount","literalDescriptionMap","entry","claimCoverageEntries","foundEntry","string","CoverageDescription","CoverageAmount","claimAssignments","importAssignmentDTO","foundAdjuster","userFirstName","adjusterAddress","userAddresss","userCity","userState","userZipCode","userLastName","userPhoneNumber","extension","userPhoneExtension","userEmail","Adjusters","Coverages","checkClaim","foundClaimResponse","validateClaim","validation","policySearchRequest","LastName","sLastName","DateOfLoss","sDateOfLoss","GoogleToken","sCaptchaText","AccessToken","ClaimDestination","ClaimType","PolicySymbol","PolicySubType","claimDestination","getClaimPointSignedXml","claimPointRequest","Recipient","sRecipient","FirstName","sFirstName","InsuredName","sInsuredName","buildPolicy","policy","foundDrivers","foundVehicles","EffectiveDate","ExpirationDate","MemberNumber","ExternalIdValTxt","CompanyName","CorporationName","AgencyName","AgentFirstName","AgentLastName","OriginalEffectiveDate","PolicyLocation","PolicyStatus","policyTypeCrm","PolicyTypeCrm","PolicyTypeGw","VehicleCount","PropertyLocations","PrimaryInsured","EmailAddress","Name","MiddleName","Suffix","DisplayName","InsuredType","Gender","MaritalStatus","DateOfBirth","Address","AddressLine1","AddressLine2","City","County","State","Zip","PrimaryInd","Phone","PhoneType","LicenseNumber","LicenseState","LicenseClass","DriverSequenceNumber","PrimaryPhone","SecondaryPhone","AreaCode","Prefix","UnitNumber","Drivers","foundDriver","injuryInd","injuryDescription","Vehicles","foundVehicle","licensePlate","LicensePlate","licensePlateState","LicensePlateState","seqNum","SeqNum","year","Year","Make","Model","vin","Vin","bodyStyle","BodyStyle","isDriveable","wereAirbagsDeployed","currentLocation","coverageLimitCode","CoverageLimitCode","deductible","Deductible","eventLimitReached","EventLimitReached","garagingCounty","GaragingCounty","rentalDailyLimit","RentalDailyLimit","rentalMaxLimit","RentalMaxLimit","towLimit","TowLimit","collision","Collision","comprehensive","Comprehensive","deductibleConfirmed","DeductibleConfirmed","glassDeductibleWaiver","GlassDeductibleWaiver","hasRoadSideCoverage","HasRoadSideCoverage","rental","Rental","damageLocations","ownerInformation","submitClaim","files","f","fnolServiceUrl","preferredPhone","preferredPhoneType","reporterName","onBehalfOf","fnolRequest","HasPhotos","ReporterInformation","Type","PhoneNumber","ReportingSource","LossInformation","TimeOfLoss","TypeOfLoss","LossDescription","Location","LossLocation","PoliceDepartment","PoliceCaseNumber","insuredObjects","thirdPartyObjects","insured","insuredObject","Driver","driver","InjuryDescription","InjuryInd","ObjectId","Vehicle","vehicle","CurrentLocation","DamageLocations","IsDriveable","WereAirbagsDeployed","thirdParty","thirdPartyObject","OwnerInformation","InsuredInformation","ThirdPartyInformation","claimSubmissionResponse","SubmissionStatus","ReferenceNumber","Adjuster","claimId","uploadFileRequest","FormData","append","getLossTypes","foundLossTypes","getPhoneTypes","getReporterTypes","getCountyList","getVehicleYears","getVehicleMakesByYear","sYear","getVehicleModelsByYearMake","modelSearchRequest","sMake","documentServiceUrl","withCredentials","isSafari","test","HTMLElement","safari","pushNotification","groupPolicyDocuments","policyDocuments","groupDate","groupVersion","documentGroup","dateGroupDocuments","versionGroupDocuments","policyDocumentReturn","duplicateNameIndicator","singlePrintDocumentIndicator","document","VersionId","versionDoc","FormDescription","forEach","item","unshift","Documents","getAutoIdCard","ssoToken","sPolicyType","sExpirationDate","documentResults","pages","content","status","getRoadsideAssistanceCard","getBillingDocumentList","sPolicySubType","LocationType","sLocationType","getCurrentBillingDocument","getSpecificIdBillingDocument","DocumentId","sDocumentId","getPolicyDocumentList","getSpecificIdPolicyDocument","getCurrentPolicyDocument","showPDF","isSafariBrowser","byteCharacters","atob","inputPDFArray","byteNumbers","Array","charCodeAt","byteArray","Uint8Array","Blob","pdfUrl","URL","webkitURL","createObjectURL","msSaveOrOpenBlob","pdfWindow","open","reader","FileReader","onloadend","readAsDataURL","apiKey","COLORS","POINT","POINT_FILL","POINT_FILL_SECONDARY","defaultMarkerIcon","path","strokeWeight","strokeColor","fillColor","fillOpacity","scale","secondaryMarkerIcon","defaultMarker","infoText","position","lat","lng","visibility","icon","defaultCenter","mapSettings","clickableIcons","streetViewControl","panControlOptions","gestureHandling","mapTypeControl","zoomControlOptions","style","zoom","minZoom","maxZoom","storedZipCode","zipCode","SET_GEOLOCATION_STATE","changedGeoLocation","geoLocationEnabled","SET_ZIPCODE","changedZipCode","SET_LATITUDE","changedLatitude","SET_LONGITUDE","changedLongitude","SET_COUNTYNAME","changedCountyName","geolocation","getCurrentPosition","pos","coords","err","console","log","address_components","types","long_name","sAddress","memberAccessServiceUrl","memberLookupServiceUrl","memberLookupAgentServiceUrl","ssoIdentityServiceUrl","invoiceCloudTokenName","isEmailAddress","str","regEx","RegExp","loggedInStatus","agentNumber","communicationIndicator","conversionIndicator","delinquentIndicator","verifiedIndicator","pendingEmailAddress","lastLoginTimestamp","memberAddress","memberList","memberName","memberFirstName","memberLastName","memberId","resetIndicator","role","userName","removeMemberRequest","contactList","showPhoneVerification","showPhoneAdd","showTextEnable","invoiceCloudToken","CLEAR_GUIDEWIRE_TOKEN","SET_CONTACT_LIST","SET_SHOW_PHONE_VERIFICATION","SET_SHOW_PHONE_ADD","SET_SHOW_TEXT_ENABLE","SET_AGENT_NUMBER","tfbInsured","parsedTfbInsured","parse","SET_COMMUNICATION_INDICATOR","SET_CONVERSION_INDICATOR","SET_DELINQUENT_INDICATOR","SET_EMAIL_ADDRESS","SET_INVOICE_CLOUD_TOKEN","SET_PENDING_EMAIL_ADDRESS","SET_LAST_LOGIN_TIMESTAMP","SET_LOGGED_IN_STATUS","SET_MEMBER_ADDRESS","SET_MEMBER_ID","SET_MEMBER_LIST","SET_MEMBER_NAME","SET_MEMBER_FIRST_NAME","SET_MEMBER_LAST_NAME","SET_MEMBER_NUMBER","SET_REMOVE_MEMBER_REQUEST","SET_RESET_INDICATOR","SET_ROLE","SET_USER_NAME","SET_VERIFIED_INDICATOR","validateLogin","loggedInTime","differenceInHours","parseISO","tfbMembers","tfbParsedInsured","tfbParsedMembers","memberSplitName","ssoCookie","ssoValue","identityResponse","lastLogin","identityItem","memberResults","PrimaryMemberName","AgentCode","MemberAddress","finalMemberList","memberListItem","memberListItemDetails","Nbr","validateInformation","loginResults","user","InsuredId","UserName","EmailVerificationIndicator","PendingEmailChange","CommunicationOption","PasswordResetIndicator","doLogin","loginRequest","sUserName","Password","sPassword","Username","GoogleCaptchaToken","sCatchaText","loginResult","InvoiceCloudAccessToken","MemberEmailAddress","MemberPendingEmailAddress","PasswordResetFlag","EmailVerified","CommunicationPreferred","MemberName","AgentNumber","Members","MemberIDNumber","LongMemberNumber","member","Lng","doSsoLogin","sAccessToken","doAgentLogin","sUser","sCountyCode","hasUser","agentEmailRaw","agentEmail","doRegistrationIdVerification","verificationRequest","sRegistrationId","ValidationId","verificationResult","doRegistration","registrationRequest","sCommunication","registrationResult","doLogout","removeItem","doForgotPassword","resetRequest","resetResult","ReturnMessage","doIdConversion","convertRequest","sOldUserName","sNewUserName","NewUserName","OldUserName","MembershipArray","convertResult","doEmailVerification","verifyRequest","sValidationCode","updateResult","Verified","EmailUpdate","doPasswordVerification","sEmailAddress","VerificationCode","doPhoneVerification","sVerificationCode","checkResults","resendRegistration","createCloudPaymentUrl","cloudPaymentRequest","sAccountNumber","sInvoiceNumber","cloudPaymentResult","updatePassword","updateRequest","username","sMemberList","MemberId","NewPassword","sNewPassword","updateCommunication","RequestsCommunication","sPreference","updateEmailAddress","sIncludeAllMembers","sNewEmailAddress","sOldEmailAddress","updatePhoneNumber","MiraId","sMiraId","sPhoneNumber","sendEmailVerification","sendPhoneVerification","OnlineAccountId","sOnlineAccountId","delinquentMemberCheck","getGenders","genderResults","getMemberInformation","getPhoneNumbers","contactResults","getRelationships","relationshipResults","addContact","addRequest","RelationshipId","sRelationship","GenderId","sGender","BirthDate","sDateOfBirth","contactResult","addNewMembership","additionResult","Member","MemberIdNumber","sortedMembers","removeMembership","removeRequest","sMemberId","tfbFilteredMembers","switchMembership","switchRequest","EncryptedPassword","tokenResult","paymentLookupServiceUrl","paymentModifyServiceUrl","accountBillSummaryTransform","accountBillSummary","abFiltered","unique","MasterAccountNumber","accountBill","DetailPath","IconPath","CurrentAmountDue","RemainingAmountDue","PaymentRestriction","RecurringPaymentStatus","CurrentRecurring","assurancePayTransform","assurancePayData","returnAssurancePay","MaskedAccountNumber","maskString","AccountNumber","MaskedRoutingNumber","RoutingNumber","PaymentDate","Number","AccountType","FullAccountType","ebillRequest","recurringRequest","pfPaymentRequest","SET_ACCOUNT_BILL_SUMMARY","SET_EBILL_REQUEST","SET_RECURRING_REQUEST","SET_PF_PAYMENT_REQUEST","CLEAR_ACCOUNT_BILL_SUMMARY","tfbAccountBillSummary","tfbParsedAccountBillSummary","getAccountBillInformation","policyResult","getAccountBillDetailInformation","sMasterAccount","getAccountBillPolicies","getAccountBillEligiblePolicies","getEncryptPaymentSummary","LineOfBusiness","SourceIdentifier","RequestTimestamp","format","systemCheck","getEbillInformation","getRecurringPaymentInfo","validateRoutingNumber","sRoutingNumber","validationResults","setupEbillInformation","changeRequest","sPolicyList","enrollmentType","NewPhone","NewEbill","MemberInitials","MemberPhoneNumber","EnrollmentType","setupResult","removeEbillInformation","EndRequestor","Initials","removeResult","modifyRecurringPayments","modifyRequest","sAccountType","AgentId","sAgentId","BankAccountNumber","BankName","sBankName","BankRoutingNumber","InsuredEmailAddress","sPaymentDate","PolicyholderName","sPolicyholderName","RequestType","sRequestType","modifyResult","manageAccountBill","policyRequest","accountBillArray","Status","InsuredFirstName","InsuredLastName","AddressLineOne","AddressLineTwo","ZipCode","RequestedPaymentDate","draftDay","AssurancePayFlag","assurancePayFlag","NameOnBankAccount","accountName","bankName","routingNumber","accountNumber","accountType","RequestedPolicies","makePremiumFinancePayment","paymentRequest","ContractNumber","sContractNumber","PaymentAmount","sPaymentAmount","paymentResult","compAutoLookupServiceUrl","holLookupServiceUrl","pa6LookupServiceUrl","policyLookupServiceUrl","premiumFinanceLookupServiceUrl","standardFireLookupServiceUrl","texasAgLookupServiceUrl","majescoLookupServiceUrl","summaryTransform","accountSummary","returnSummary","Policies","GuidewireFlag","PropertyLocation","PolicyRecurringStatus","PolicyRecurringFlag","LaurusFlag","premiumFinanceTransform","policyDetails","summaryDetails","policyReturn","PremiumFinanceContract","ContractNumberAbbr","ContractDate","DownPayment","DueDate","FinanceCharge","MonthlyPayment","TotalAmountDue","TotalPremium","PremiumFinancePayments","Payments","PremiumFinancePolicyInformation","AssociatedPolicyNumber","policyHolderAutoTransform","InsuredAddress","PolicyAddress","FutureEffectiveDate","FutureExpirationDate","FormattedPolicyAddress","Address1","Address2","Address3","ZipCode4","ZipCode2","WritingCompany","WritingCompanyName","NamedInsuredOne","InsuredNames","NamedInsuredTwo","PolicyBilling","Adjustments","PremiumAdjustment","BilledPremiumAmount","PreviousDebitCredit","TermPremiumAmount","GrossPremiumAmount","TheftFee","TotalDiscounts","PaymentHistory","sortedPayments","CoveredDrivers","DriversLicenseNumber","MaskedDriversLicenseNumber","LienHolders","lienholder","LienHolderAddress","buildSingleLineAddress","ExcludedDrivers","policyHolderPropertyTransform","policyDiscounts","policyEndorsements","policyMortgagees","policySections","LocationConstruction","PropertyConstruction","PolicyForm","PropertyInformation","LocationOfProperty","Construction","payment","paymentDate","BillingInformation","NextPaymentDueDate","Locations","LocationAddress","AddressCity","AddressState","AddressZipCode","AddressZipCodePlusFour","AddressZipCodePlusTwo","Sections","section","coverage","Limit","splitCoverage","formatMoney","Premium","Deductibles","Discounts","discount","Endorsements","endorsement","Mortgagees","mortgagee","sortBy","policyDetailsTransform","policyCoverages","policySecIIICoverages","policySecIVCoverages","DIFamilyMember","Form","PerilsInsuredAgainst","UnderlyingAutoPolicies","UnderlyingPropertyPolicies","NamedInsureds","NamedInsured","SecondNamedInsured","MailingAddress","CombinedFullName","ConcatenatedName","NamedInsured1","NamedInsured2","policyBilling","AgreementInformation","ActualPremiumAmount","PolicyPremiumAmount","AdjustmentToMinimum","PolicyLimit","PremiumAmount","LimitsOfLiability","DiscountAmount","SectionIProperty","PremisesInformation","InterestedThirdParty","LoanNumber","AdditionalName","FarmLocations","Dwellings","dwelling","AmountDescription","ItemDescription","ItemNumber","Barns","b","barn","TypeOfUse","BarnContents","barnContents","FarmBuildingContentsType","LDW","w","ldw","MedicalPayments","OTR","otr","splitLimit","LossPayee","ItemNumberDescription","BusinessPursuits","businessPursuits","NonFarmLocations","nonFarmLocations","FLI","fli","Watercraft","watercraft","FarmEquipment","farmEquipment","SpecialtyEquipment","specialtyEquipment","PivotSprinklers","pivotSprinklers","Irrigation","irrigation","formatYearDate","filteredVehicleCoverages","TotalCoveragePremium","isNaN","CurrentVehiclePremium","ClassCode","VehicleClass","CoverageTypeDisplay","CoverageType","CoverageLimitDisplay","vehicleDiscounts","cleanedVehicleDiscounts","DiscountType","cleanedDiscountType","DescriptionDisplay","SectionIIICoverages","SectionIVCoverages","paperlessRequest","hasGuidewirePolicies","hasLegacyPolicies","SET_ACCOUNT_SUMMARY","CLEAR_ACCOUNT_SUMMARY","CLEAR_HAS_GUIDEWIRE_LEGACY","SET_PAPERLESS_REQUEST","SET_HAS_GUIDEWIRE_POLICIES","SET_HAS_LEGACY_POLICIES","tfbSummary","tfbParsedSummary","getAccountSummary","GuidewirePolicyCount","LegacyPolicyCount","getPolicyDetails","foundPolicyDetails","sPolicyDetail","sPolicySymbol","sfPolicyDetails","getCompAutoPolicyInformation","getHOLPolicyInformation","getPremiumFinanceInformation","getSFPolicyInformation","sfPolicyDetailResult","getGuidewireSFPolicyInformation","getPA6PolicyInformation","getTAAPolicyInformation","getMajescoPolicyInformation","getPaperlessInformation","setupPaperless","MemberEnrollmentType","removePaperless","RemovalType","autoQuoteServiceUrl","quoteTokenName","agreementNumber","subAgreementNumber","quote","timeout","contact","email","hasVehicle","hasDriver","hasCoverage","maxPastEffectiveDayLimit","maxFutureEffectiveDayLimit","quoteTransform","quoteData","returnQuoteData","ValidationToken","AgreementNumber","SubAgreementNumber","Quote","GaragingLocations","g","foundGaragingLocation","LocationCounty","prefixPadding","Operators","foundOperator","AgeReceivedLicense","OperatorStatusCode","OperatorStatusIndicator","Accidents","HasAccident","foundAccident","AccidentTypeCode","AtFaultIndicator","Boolean","Violations","HasViolation","foundViolation","ViolationTypeCode","AnnualMileage","CostNew","DailyMileage","NumberOfOwnedAcres","NumberOfRentedAcres","GaragingZipCode","VIN","CLEAR_QUOTE","SET_AGREEMENT_NUMBER","SET_QUOTE","SET_QUOTE_EMAIL_ADDRESS","tfbQuote","tfbParsedQuote","SET_TIMEOUT","SET_SUB_AGREEMENT_NUMBER","SET_EFFECTIVE_DATE","SET_EMAIL","SET_CONTACT","SET_HAS_VEHICLE","SET_HAS_DRIVER","SET_HAS_COVERAGE","SET_QUOTE_COMPLETE","CompletedQuoteIndicator","addNewDriver","driverAccidents","driverViolations","sDriver","AccidentAmount","AccidentDate","ViolationDate","request","AcademicAchievement","sQuote","ClaimCount","CurrentTFBPolicyholder","HasCurrentTFBPolicy","DefensiveDriving","DriverTraining","DriveNSaveEnrollment","IncludeAsDI","DriversLicenseState","MaritalStatusCode","Occupation","OccupationCode","PrimaryVehicle","VehicleNumber","Relationship","RelationshipToInsuredCode","driverResult","updateDriver","addNewQuote","sLocation","CountyCode","QuoteType","OwnershipCode","TrackingId","quoteResult","newQuote","addNewVehicle","sVehicle","DaysPerWeekDriven","EngineSize","GaragedOnFarm","GaragingLocation","LocationSequenceNumber","GaragingLocationSequenceNumber","PassiveRestraintCode","PrimaryVehicleUse","PrincipalOperator","TitledTo","VehicleBodyStyle","deleteDriver","delete","sAgreementNumber","sSubAgreementNumber","sVehicleSequenceNumber","deleteVehicle","getAccidentTypes","getBodilyInjuryLimits","getCollisionDeductibles","getComprehensiveDeductibles","getExistingQuote","existingQuote","getLimitsByLevel","coverageLevel","sCoverageLevel","setMaxFutureEffectiveDayLimit","setMaxPastEffectiveDayLimit","getMinMaxAmount","getOccupations","getPIPMEDLimits","getPrimaryUses","getPropertyDamageLimits","getRateQuote","getFakeRateQuote","TotalQuote","MonthlyAmountDue","MonthlyServiceDue","ADIPremium","SR22FilingFee","VehiclePremiums","VehicleSequenceNumber","VehicleTotalPremium","BodilyInjuryPremium","PropertyDamagePremium","UMBodilyDamagePremium","UMPropertyDamagePremium","MedPIPPremium","ComprehensivePremium","CollisionPremium","RentalPremium","RoadsidePremium","getRentalLimits","getSafetyOptions","getRoadsideAssistanceLimits","getUninsuredBodilyInjuryLimits","getUninsuredPropertyDamageLimits","VehicleYear","sVehicleYear","getVehicleModelsByMakeYear","VehicleMake","sVehicleMake","getVehicleBodyStylesByYearMakeModel","VehicleModel","sVehicleModel","getViolationTypes","getWebQuoteData","requestContact","patch","ContactMethod","sContactMethod","PreferredAgent","sPreferredAgent","SendToConsumerIndicator","sSendCopy","requestEmail","requestToken","sQuoteToken","updateQuote","GaragingLocationIndicator","updateQuoteCoverages","vehicleCoverages","sVehicles","IncludeRoadsideAssistance","IncludeRentalReimbursement","RentalReimbursementLimit","sRental","CollisionDeductibleCode","ComprehensiveDeductibleCode","RoadsideAssistanceLimit","sRoadside","CollisionDeductible","ComprehensiveDeductible","HasRentalIndicator","HasRoadsideIndicator","SelectedCoverageLevel","BodilyInjuryLimit","PropertyDamageLimit","MedPIPLimit","MedicalPIPLimit","UMBodilyInjuryLimit","UninsuredBodilyInjuryLimit","UMPropertyDamageLimit","UninsuredPropertyDamageLimit","RentalLimit","RoadsideLimit","VehicleCoverages","updateVehicle","validateVIN","sVIN","vinResult","groupServiceCoverages","serviceCoverages","groupName","groupCoverages","coverageGroup","coverageReturn","CoverageTypeSection","finalGroupName","serviceItems","serviceOptionalCoverages","serviceDiscounts","getServices","getServiceInformation","sServiceType","getServiceCoverages","getServiceOptionalCoverages","getServiceDiscounts","use","Vuex","Store","plugins","pathify","plugin","app","agentcounty","blog","documents","payments","quotes","services","render","_vm","staticClass","link","class","children","scopedSlots","on","params","childLink","param","_v","to","preventDefault","webmasterMail","display","ivrPhone","guidewireIvrPhone","contactUsPhone","claimsReportingCenter","phoneDisplay","phoneLink","texasWindstorm","wacoClaims","wrightFlood","roadsideAssistance","fraudHotline","tfbPhone","poBoxAddress","legalContact","emailDisplay","emailLink","billingAddress","corporateOfficeAddress","defaultAgentImage","directives","rawName","expression","stopPropagation","callback","searchText","computed","sync","components","LenderDock","showSearch","submitSearch","keyCode","$router","term","start","mounted","$vuetify","breakpoint","smAndDown","mixins","tfbDataMixin","tfbHelperMixin","BlueNavigation","headerLinks","$store","logout","isLoggedIn","doRedirect","fn","proxy","_l","Navigation","MobileNavigation","noticeText","hideNotice","trackingId","toJSON","imageRootPath","socialMediaLinks","bannerType","_e","props","String","required","default","validator","appleLink","googleLink","JdPowerBanner","MobileAppLinks","getFullYear","alt","documentLoading","fab","onScroll","bottom","top","pageYOffset","documentElement","offsetTop","toTop","hash","goTo","showChatIndicator","chatEnabledIndicator","showChatWindow","ScrollToTop","LiveChat","pageLoading","loadingColor","serviceItem","AllowQuotes","serviceType","blogKeywords","CoverageTypeRequirement","hover","$event","$$v","domProps","fixedWidth","optionalCoverageModal","_s","LongDescription","service","CoverageCard","OptionalCoverageItem","watch","$route","startDataFetch","getCoverageData","getOptionalCoverageData","coverageResponse","optionalCoverageResponse","created","serviceDiscountModal","IconFileName","DiscountItem","getDiscountData","discountResponse","driveNSaveHeader","subHeader","blogLoading","blogPosts","header","loadBlogPosts","returnedStatus","fetchKeywordPosts","fetchAdditionalPosts","staticStyle","videoBreakPoint","getVideoBackgroundImage","getVideo","video","showEmbedded","showLocal","videoText","function","videoClass","videoId","faqs","question","faqKeyword","faqTitle","sectionTitle","fetchFaqs","tfbMetaMixin","serviceVideos","ServiceCoverages","ServiceDiscounts","DriveNSaveSection","StarDivider","Videos","Blog","Faqs","HeaderFileName","metaDescription","metaKeywords","SeoKeywords","metaPageTitle","siteName","metaUrl","getServiceData","getServiceVideos","$meta","refresh","featuredPosts","featuredPost","postRow","moreDisabled","blogMoreLoading","startCase","carouselSize","handlePostResponse","loadMorePosts","resetBlogFeed","getBackgroundImage","moreFoundPosts","tempPosts","concat","getHeaderBackgroundImage","showMobileAppCard","_m","homeVideos","searchAgentZipCode","agents","agentListing","ref","mapConfig","infoOptions","infoWindowPos","infoWindowOpen","markers","toggleInfoWindow","currentMidx","selectedMarker","center","mapCenter","pixelOffset","width","height","marker","idx","formDisabled","agentLoading","AgentCards","AgentMap","agentZipCode","onSubmit","searchByCurrentLocation","geometry","pop","fetchOfficesByLatLong","countyOffice","fetchAgentsByCountyBranch","_agents","detailResponse","uniqBy","_u","fetchData","tab","ServiceType","modalDismissed","showDesktopCard","showMobileCard","MeetAgents","ServicesCards","ServicesTabs","BlogFeed","MobileAppCard","Services","aboutUsVideos","foundDsm","_f","countyOptions","dsmLoading","_counties","findDsm","careerOpeningsUrl","becomeAgentVideo","becomeAgentBanner","becomeAgentVideoBanner","arguments","enteredSearchText","enablePreviousPageLink","enableNextPageLink","resultsLoading","startRow","totalRows","val","searchTerm","startSearchRow","foundResults","goToNextPage","goToPreviousPage","parseInt","handleSubmit","subjectOptions","subject","billingOptions","subjectDetail","claimsOptions","paymentsOptions","policyOptions","technicalOptions","valid","cancelEffectiveDate","cancelEffectiveDateMenu","submitted","VueRecaptcha","ValidationObserver","ValidationProvider","ClaimsNumbers","RequiredFieldsRow","mask","hasCaptcha","captchaText","emailCopy","$refs","obv","validate","googleReCaptchaKey","minCancellationDate","getWebmasterEmail","includedToken","access_token","loginValid","onCaptchaSubmit","invisibleRecaptcha","execute","onVerify","onExpired","recaptcha","reset","subjectText","DOMPurify","sanitize","messageText","emailResponse","clearZipCode","searchAgentCounty","searchValue","clearCounty","fetchAgentsByCounty","agentFacebook","agentWeatherLink","fullName","errors","ccMessage","AgentContact","agentSummary","agentWeatherDescription","siFiTracking","defaultHeaderImage","listResponse","FacebookLink","AgentSummary","telephoneReplace","telephoneReplaceAlt","SevereWeatherAlertLink","SiFiTag","codeResponse","getAgentInformation","getAgentCodeByEmail","agentList","agentsList","agentsByCountyList","loadAgents","groupBy","entries","countyOfficeName","sortedAgents","seoTitle","seoDescription","seoKeywords","pageTitle","countyLoading","countySummary","defaultMetaKeywords","pageUrl","branch","displayPageTitle","surnameName","sort","getCountyInformation","CountySummary","SeoKeywords1","HeaderText","countyList","foundCounties","foundOffices","builtCountyUrl","countyUrl","selectPolicyNumber","dateOfLossFormatted","dateMenu","dateOfLoss","showClaimPoint","insuredFirstName","insuredLastName","insuredName","redirectToClaimPoint","isMemberRole","claimParams","form","createElement","method","action","target","signatureResponse","hiddenField","appendChild","body","submit","setTimeout","removeChild","showDialog","onDuplicateClaim","selection","number","RecentClaim","ClaimsProcess","ClaimPointLink","dialog","txfbInsured","formatDate","minDateOfLoss","subMonths","maxDateOfLoss","filteredPolicyList","fullPolicyList","hasExisting","accessError","validationReturn","builtPolicy","preferredPhoneEntry","preferredPhoneTypeEntry","reporterTypes","phoneTypes","timeOfLoss","timeOfLossFormatted","timeMenu","lossTypes","stateList","hasThirdParty","yesNoOptions","DisplayText","stateListResponse","accidentDateFormatted","vehicleYears","vehicleMakes","vehicleModels","yearSelectionDisabled","makeSelectionDisabled","modelSelectionDisabled","phoneTypeList","vehicleYearResponse","getVehicleMakes","makeListResponse","getVehicleModels","modelListResponse","lossInformation","InsuredDetails","ThirdPartyDetails","formatTime","fileRules","some","size","driverList","vehicleList","locationsList","filteredLossTypes","search","filter","lob","isAutoClaim","lossTimeStamp","getClaimInformation","reporterTypeList","countyListResponse","lossTypeList","deleteChip","success","map","refs","$el","scrollIntoView","behavior","block","Email","claimConfirmation","claimIdNumber","openClaimList","closedClaimList","claimListLoading","claimType","claimList","coverageHeaders","align","tfbMetaInfo","ClaimList","claimDetailLoading","claimListResponse","doStatusCheck","getClaimList","nonLoggedInPaymentDialog","onPaymentSearch","paymentInformation","nonRegisteredGuidewirePaymentUrl","saveOverlay","isLegacyLinkDisabled","isGuidewireLinkDisabled","paymentDisplay","onLoginSubmit","policyPayment","paymentTracking","systemCheckResponse","AccountFound","GuidewirePaymentInformation","LegacyPaymentInformation","InvoiceCloudAccountNumber","cloudPaymentReturn","getPaymentUrl","urlResponse","pageStatus","paymentParams","paymentResponse","RequestSummary","MinimumAmount","MaximumAmount","PastDueAmount","ReturnItemAmount","PolicyName","ResponseTimestamp","showEbillTerms","showingFullEmail","showingFullText","showTextTerms","changeRequests","unEnrollRequests","ebillHeaders","cancelEbillChanges","saveEbillChanges","OriginalEbill","OriginalPhone","memberRules","showForm","getBankName","$set","paymentForm","paymentTypeChange","paymentType","amountDisabled","showReview","paymentAmount","showFinal","contractNumber","confirmRoutingNumber","confirmAccountNumber","verifyForm","min","max","is","paymentTypeOptions","validationResult","MinimumAmountDue","cancelPayment","acceptTerms","authPayment","makePayment","ConfirmationNumber","Result","printConfirmation","print","changeType","assurancePayForm","accountTypeOptions","draftDayList","bankLoading","showOptOut","showCurrent","currentRecurring","optOutForm","agentId","dayList","cancelRecurringChanges","modifyRecurringChanges","optOutRecurringChanges","saveRecurringChanges","saveRecurringOptOut","recurringResult","remoteAuthenticationToken","autopayIFrameUrl","storedPaymentIFrameUrl","accountBillEligible","enrollForm","cancelAccountBillChanges","modifyAccountBillChanges","reviewForm","assuranceConfirmation","policyListLoading","showConfirmation","accountBillHeaders","eligiblePolicies","AccountBillEligibleFlag","reviewAccountBillChanges","saveAccountBillChanges","mdAndUp","timeOfDay","currentHour","getHours","storedName","startsWith","userInfo","fetchAgent","logoutCountdown","stayLoggedIn","timer","timerId","setInterval","isAppIdle","clearInterval","IdleNotification","Greeting","AgentInfo","isMobile","isPolicyActive","isFileClaimActive","isViewClaimActive","isSettingsActive","setTab","PolicyholderHeader","passWord","rememberLogin","captchaEnabled","confirmUserName","confirmPassWord","communication","registered","registrationReSent","registrationId","regid","regId","passwordLengthValidation","passwordNumbersValidation","hasNNumericCharacters","passwordAlphasValidation","hasNAlphaCharacters","passwordCapitalsValidation","hasNUppercaseCharacters","passwordRepeatingValidation","hasMoreThanNConcurrentLetters","passwordSpecialCharactersValidation","validationResponse","ValidIdIndicator","sPasswordConfirmation","countyCode","isValidUser","includedUser","u","includedMember","includedCounty","seedDate","getDate","getMonth","seedText","seedKey","substr","logIn","newEmailAddress","confirmNewEmailAddress","showEmailChange","emailVerified","toggleEmailChange","sendVerification","emailSuccess","verificationSuccess","submitEmailChange","idNeedsConvert","validationCode","updateResponse","InsuredFullName","policyLoading","inactiveDialog","switchMember","membershipPaymentsBaseUrl","memberZipCode","Zipcode","gwPaymentsEnabled","membershipBaseUrl","filteredMemberList","switchResult","displayType","policyAccount","showTextEnrollmentLink","showDocumentDialog","currentStaticDocumentList","upcomingStaticDocumentList","documentList","versionGroup","LabelDescription","policySubType","futureEffectiveDate","futureExpirationDate","openPanel","currentStaticDocumentLoading","upcomingStaticDocumentLoading","showUpcomingStaticDocumentChange","displayIndicator","staticDocumentResponse","upcomingStaticDocumentResponse","documentResponse","getPolicyDocument","documentId","formDescription","sFormDescription","documentPages","getStaticPolicyDocuments","getPolicyDocuments","displayLocation","PolicyDocumentList","roadsideUrl","showPolicyEnrollmentLink","showEbillEnrollmentLink","recurringPayments","currentRecurringStatus","invoiceCloudRecurringPayments","invoiceCloudPaymentMethods","premiumFinancePayment","minimumAmountDue","roadsideAssistanceCard","autoIdCard","HasGuidewireEquivalent","allowedEbill","allowedEbillSplit","ebillType","policyTypeSplit","allowedEbillText","allowedPaperless","allowedPaperlessSplit","printingDate","registeredLinkDisabled","registeredPaymentUrl","nonRegisteredLinkDisabled","nonRegisteredPaymentUrl","showLink","isGuidewire","PaymentMenu","paymentsDisabled","billingInfo","BillingSource","PolicyMinimumAmountDue","PolicyPremiumFinanceFlag","MembershipHeader","LinkList","PrintDate","PolicyBillingDisplay","AccountBillBillingDisplay","accountBillList","getPropertyLocation","propertyData","getPolicyDescription","descriptionData","policyDetail","majescoData","dataRequest","taaPHData","holPHData","sfData","showPolicyDocuments","LocationId","subCoverage","coverageLocation","building","BillAccountNumber","PastAmountDue","MaximumAmountDue","CurrentDueDate","PolicyPayableFlag","BillingStatus","PolicyDueDate","PolicyMaximumAmountDue","laurusFlag","guidewireFlag","billingDocumentHeaders","getBillingDocument","getBillingDocuments","ObjectSequenceNumber","showPolicyDefinition","anchorText","newClassCode","coveredDrivers","excludedDrivers","autoPolicies","propertyPolicies","invoice","currentRefunds","nextRefunds","previousRefunds","abPaymentHistoryHeaders","paymentHistoryHeaders","pfPaymentHistoryHeaders","abPolicyHeaders","PolicyPaymentList","BillingDocumentList","GuidewirePolicyCoverages","GuidewireEndorsements","GuidewireMortgageesLossPayees","UnderlyingLocations","UnderlyingPolicies","FarmLiabilityLocations","BillingPaymentHistory","memberRole","currentRoute","policyResponse","foundContactList","updateAllMembers","sendPendingVerification","updateContact","updatedPhoneNumber","unformattedDateOfBirth","birthDateMenu","dateOfBirthActivePicker","passes","enteredVerificationCode","onClose","showError","verifyPhone","verifyResponse","displayTextStartPhoneNumber","linkTextStartPhoneNumber","getTextPhoneNumber","phoneLoading","PhoneVerification","EnableTextDialog","phoneHeaders","genderOptions","relationshipOptions","relationship","maxDateOfBirth","subYears","getGenderList","getRelationshipsList","addMemberShow","sendVerifyPhone","miraId","phoneSuccess","currentPassWord","passwordSuccess","AllowChange","filteredPhoneNumbers","abList","showEnrollmentMessage","changedPolicies","ebillLoading","hasChanges","noResultsText","eBillHeaders","emptyPhoneNumber","ContactId","FullName","TextEnabled","phoneVerified","builtPhoneNumbers","buildEbill","getAccountBillSummary","accountSummaryResponse","accountBillSummaryResponse","policyEbillEligibilityCheck","EBillFlag","getCurrentEbillInformation","ebillResult","getEbillLimits","getTextLimits","allowedText","foundLimits","textLimits","buildEbillPolicy","buildEbillAccountBill","ebillPolicyTypeSplit","allowTextEnroll","allowedTextSplit","textPolicyTypeSplit","AllowEbill","AllowText","textEnrollment","EbillStatus","changeEbill","EbillChange","PhoneChange","paperlessIFrameUrl","payByTextIFrameUrl","OriginalPaperless","showEnrollmentSection","paperlessLoading","paperlessHeaders","buildPaperlessInformation","PaperlessFlag","paperlessResult","NewPaperless","changePaperless","selectedMembership","addMember","removeMember","selectedCommunication","communicationSuccess","EmailChanges","PasswordChanges","PhoneChanges","EbillChanges","InvoiceCloudPaperless","PaperlessChanges","InvoiceCloudTextPayment","MembershipChanges","CommunicationChanges","MobileAppBanner","showPhoneNumbers","showMobileAppBanner","hasGuidewireToken","getMemberPhoneNumbers","add","addMembership","multipleIndicator","sMultipleIndicator","showPaperlessTerms","enrollRequests","cancelPaperlessChanges","savePaperlessChanges","isHomePage","asLowAsAmount","AsLowAs","isComplete","ProgressSidebar","isTimedOut","onLogin","quoteReturn","onCreate","DeathIndemnity","primaryDriver","primaryGaragingLocation","quoteDetails","minEffectiveDate","maxEffectiveDate","onCancel","ownerOptions","effectiveDateMenu","minLimit","subDays","maxLimit","addDays","vehicleBodyStyles","enterByVin","ownerList","operatorList","primaryUseOptions","daysPerWeekOptions","garagingLocations","safetyOptions","isValidVin","otherOption","styleSelectionDisabled","primaryUseDisabled","isUsingVin","isUsedForFarmRanch","isUsedForWorkSchool","isNewLocation","primaryUseResponse","getAntiTheftOptions","antiTheftResponse","antiTheftOptions","safetyResponse","yearListResponse","getVehicleBodyStyles","styleListResponse","setVehicleDetail","swapEntry","setupQuote","setupVehicle","buildGaragingLocations","foundLocation","buildOperators","vehicleId","onBack","onDelete","scrollToTop","saveVehicle","onAddSubmit","addNew","vehicleForm","isPrimary","accident","violation","accidentDateMenu","minIncidentDate","maxIncidentDate","accidentTypeOptions","atFaultOptions","accidentTypeResponse","violationDateMenu","violationTypeOptions","violationDateFormatted","violationTypeResponse","AccidentDetails","ViolationDetails","stateOptions","occupationOptions","claimCountOptions","gpaOptions","maritalOptions","noLicenseOptions","hasTfbOptions","showSpouseRequired","effectiveDateCheck","foundEffectiveDate","compareAsc","parseDateAsDate","driveNSaveCheck","isPrimarySpouse","spouseRequired","showDriverTraining","driverAge","differenceInYears","occupationResponse","getStates","stateResponse","relationshipResponse","buildVehicles","setupDriver","driverId","isSpouse","dateOfBirthDriver","relationshipArray","foundRelationship","addAccident","accidentId","removeAccident","holdAccidents","addViolation","violationId","removeViolation","holdViolations","sDriverSequenceNumber","saveDriver","driverMethod","driverForm","averageOverlay","customOverlay","onRecalculateSubmit","bodilyInjuryOptions","onCoverageChange","pipMEDLimitsOptions","rentalArray","roadsideArray","recalculateDisabled","propertyDamageOptions","uninsuredBodilyInjuryLimitsOptions","uninsuredPropertyDamageLimitsOptions","collisionDeductiblesOptions","comprehensiveDeductiblesOptions","rentalLimitsOptions","roadsideLimitsOptions","averageMinMax","customMinMax","bodilyInjuryResponse","propertyDamageResponse","uninsuredBodilyInjuryLimitsResponse","uninsuredPropertyDamageLimitsResponse","collisionDeductiblesResponse","comprehensiveDeductiblesResponse","pipMEDLimitsResponse","rentalLimitsResponse","roadsideLimitsResponse","setupVehicleCoverage","setupCoverage","setupMinMax","premiumResponse","finally","limitsResponse","collValue","compValue","foundLimit","valueCheck","monthlyPremium","discounts","contactOptions","option","copyEmail","contactPhone","contactTime","requestedAgent","inputEmail","inputPhone","requestSubmitted","contactTimeOptions","contactType","contactEmail","contactResponse","sendQuoteEmail","sendQuoteResponse","ContactAgent","QuoteEmail","quoteLoading","formattedEffectiveDate","quoteDate","vehiclePremiumList","liabilityCoverages","rentalLimit","roadsideLimit","medPIP","totalPremium","liabilityHeaders","vehicleHeaders","quoteResponse","declineCoverage","splitBI","fullBiPerson","fullBiAccident","CoverageText","fullPropertyDamage","umSplitBI","fullUmBiPerson","fullUmBiAccident","fullUmPropertyDamage","splitRental","foundPremium","vehiclePremiums","VehicleDescription","VehiclePremium","VehicleMonthPremium","printQuote","VueMeta","refreshOnceOnNavigation","VueRouter","routes","LoggedInPayment","Header","notification","HeaderNotification","Content","footer","Footer","HomeHeader","AboutUs","BlogMain","BlogListing","BlogPost","ClaimMain","alias","ClaimReport","ClaimReportConfirm","ContactUs","Careers","FindASalesManager","DMCA","JointPrivacy","TermsConditions","RequiredNotices","Search","PaymentOptions","CountyListing","FindAnAgent","CountyDetails","AgentListing","AgentDetails","QuoteLayout","AutoQuoteEntry","AutoQuoteAboutYou","AutoQuoteVehicles","AutoQuoteDrivers","AutoQuoteCoverages","AutoQuoteDisclaimer","AutoQuoteSummary","PolicyHolderLayout","Login","AgentAccess","Register","EmailVerification","ForgotPassword","IdConversion","AccountSummary","ChangePaperless","PolicyDetails","ViewClaim","AccountManagement","ResetPassword","EmailVerificationComplete","AccountMemberships","PremiumFinancePayment","AccountBill","ChangeEbill","RecurringPayments","InvoiceCloudAutoPay","InvoiceCloudPaymentMethods","PageNotFound","router","scrollBehavior","from","savedPosition","selector","x","y","keys","rules","rule","extend","localize","en","async","vinErrors","store","serverMessage","biCoverage","pdCoverage","numberOfCharacters","numberOfNumbers","vid","innerValue","newVal","$emit","options","includes","focus","Vuetify","opts","theme","disable","themeCache","localStorage","mobileBreakpoint","eventsHub","VueCookies","IdleVue","eventEmitter","idleTime","startAtIdle","GmapVue","load","libraries","installComponents","CheckboxInput","RadioGroupInput","SelectInput","TextAreaInput","TextInput","productionTip","el","vuetify","h","App","$mount","Sidebar","Pagination","previousPost","nextPost","publicId","cdn","metaType","articleModifiedTime","articlePublishTime","articleTags","metaNoIndex","getPost","postResponse","browser","getElementById","setAttribute","filters","formatBlogDate","formatPhone","cleanPhoneNumber","linkFormatPhone","strippedPhoneNumber","linkFormatEmail","src","backgroundImage","backgroundColor","backgroundPosition","backgroundSize","flexDirection","justifyContent","words","kebabCase","amount","decimals","abs","toFixed","sourceString","findString","escapeRegExp","inputString","totalLength","padding","builtString","paddingCount","replaceString","tempPhone","finalReturn","currentCount","hasNLowercaseCharacters","reg","testResult","lastLetter","splitStr","letter","lineOne","lineTwo","lineThree","zipCodeFour","zipCodeTwo","addressArray","returnAddress","infoBoxArray","returnInfoBox","builtTitle","inputItem","savedAccessPage","scrollTo","metaTitleTemplate","twitterHandle","defaultMetaDescription","metaInfo","metaArray","vmid","itemprop","titleTemplate","htmlAttrs","lang","rel","meta","getPosts","nextPostResponse","previousPostResponse","currentPostId","loadBatchSize"],"mappings":"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EXb,MAAO,CACL,SACA,gBACA,mBACA,eACA,eACA,oBAGJ,CACE36D,KAAM,kCACNo3B,WAAY,CACVqC,QAASgiC,IAEXd,MAAO,CACL,uBACA,wBACA,kCAGJ,CACE36D,KAAM,0BACNl9B,KAAM,eACNs0D,WAAY,CACVqC,QAASiiC,KAGb,CACE17D,KAAM,0CACNl9B,KAAM,qBACNs0D,WAAY,CACVqC,QAASkiC,IAEXhB,MAAO,CACL,4CAGJ,CACE36D,KAAM,4BACNl9B,KAAM,iBACNs0D,WAAY,CACVqC,QAASkiC,IAEXhB,MAAO,CACL,oBACA,yBACA,iBAGJ,CACE36D,KAAM,wBACNo3B,WAAY,CACVqC,QAASkiC,KAGb,CACE37D,KAAM,2BACNl9B,KAAM,iBACNs0D,WAAY,CACVqC,QAASqK,KAGb,CACE9jC,KAAM,YACNl9B,KAAM,iBACNs0D,WAAY,CACVqC,QAASqK,IAEX62B,MAAO,CACL,aAGJ,CACE36D,KAAM,kBACNl9B,KAAM,YACNs0D,WAAY,CACVqC,QAASqK,IAEX62B,MAAO,CACL,mBAGJ,CACE36D,KAAM,0BACNl9B,KAAM,mBACNs0D,WAAY,CACVqC,QAASqK,IAEX62B,MAAO,CACL,2BAGJ,CACE36D,KAAM,kCACNl9B,KAAM,kBACNs0D,WAAY,CACVqC,QAASqK,IAEX62B,MAAO,CACL,mCAGJ,CACE36D,KAAM,eACNo3B,WAAY,CACVqC,QAASmiC,IAEX9mC,SAAU,CACR,CACE90B,KAAM,GACNl9B,KAAM,aACNs0D,WAAY,CACVqC,QAASoiC,KAGb,CACE77D,KAAM,YACNl9B,KAAM,gBACNs0D,WAAY,CACVqC,QAASqiC,KAGb,CACE97D,KAAM,WACNl9B,KAAM,eACNs0D,WAAY,CACVqC,QAASsiC,KAGb,CACE/7D,KAAM,eACNl9B,KAAM,iBACNs0D,WAAY,CACVqC,QAASsiC,KAGb,CACE/7D,KAAM,UACNl9B,KAAM,cACNs0D,WAAY,CACVqC,QAASuiC,KAGb,CACEh8D,KAAM,cACNl9B,KAAM,gBACNs0D,WAAY,CACVqC,QAASuiC,KAGb,CACEh8D,KAA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","file":"js/app.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Register.vue?vue&type=style&index=0&id=39a23440&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Coverages.vue?vue&type=style&index=0&id=f5e2e11c&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogCards.vue?vue&type=style&index=0&id=7be0490f&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactUs.vue?vue&type=style&index=0&id=97cce1ce&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveChat.vue?vue&type=style&index=0&id=7396227b&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=a83079c4&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=style&index=0&id=1dfe0b00&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AboutUs.vue?vue&type=style&index=0&id=dcd3b75a&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PolicyDocumentList.vue?vue&type=style&index=0&id=4c223a7a&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServicesTabs.vue?vue&type=style&index=0&id=03cb376e&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileAppLinks.vue?vue&type=style&index=0&id=00a5566e&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FindAnAgent.vue?vue&type=style&index=0&id=2d25db77&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FAQs.vue?vue&type=style&index=0&id=b99c5f60&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileAppCard.vue?vue&type=style&index=0&id=217eb360&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ForgotPassword.vue?vue&type=style&index=0&id=f426d7a8&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileAppBanner.vue?vue&type=style&index=0&id=0d336b64&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CoverageCard.vue?vue&type=style&index=0&id=1f4dc2c7&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetAgents.vue?vue&type=style&index=0&id=79628d74&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IdleNotification.vue?vue&type=style&index=0&id=72bbbd11&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AboutYou.vue?vue&type=style&index=0&id=1b74fc72&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vehicles.vue?vue&type=style&index=0&id=b93df77e&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentMenu.vue?vue&type=style&index=0&id=7553c040&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderNotification.vue?vue&type=style&index=0&id=d8253296&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Drivers.vue?vue&type=style&index=0&id=729c94a5&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClaimsNumbers.vue?vue&type=style&index=0&id=71637da8&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuickLinksHeaderNavigation.vue?vue&type=style&index=0&id=14d2e870&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogPost.vue?vue&type=style&index=0&id=dae53aba&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentDetails.vue?vue&type=style&index=0&id=33a1a662&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClaimReport.vue?vue&type=style&index=0&id=c1036cc4&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=16025a7e&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuoteLayout.vue?vue&type=style&index=0&id=23946510&prod&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-app',{attrs:{\"id\":\"app\"}},[_c('router-view',{attrs:{\"name\":\"header\"}}),_c('router-view',{attrs:{\"name\":\"notification\"}}),_c('router-view',{attrs:{\"name\":\"content\"}}),_c('router-view',{attrs:{\"name\":\"footer\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=324784be\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","const genericErrorMessage = 'We apologize. The system you are accessing is temporarily unavailable. Please try again later.';\r\nconst namePolicyNotFoundErrorMessage = 'Unable to locate information for the given Last Name and Policy Number. Please check the entered information and try again.';\r\nconst insuredAccessOnlyErrorMessage = 'Sorry, this functionality is only available to the insured.';\r\nconst sessionErrorMessage = 'Sorry, this session has expired. Please log in again.';\r\nconst collisionDeductibleRentalErrorMessage = 'Collision deductible is required for Rental Reimbursement';\r\nconst comprehensiveDeductibleRentalErrorMessage = 'Comprehensive deductible is required for Rental Reimbursement';\r\nconst invalidRegistrationIdMessage = 'We’re sorry, but the link provided is no longer valid. Please enter registration information below or contact your agent for a new registration link.';\r\n\r\nexport {\r\n genericErrorMessage, namePolicyNotFoundErrorMessage, insuredAccessOnlyErrorMessage, sessionErrorMessage,\r\n collisionDeductibleRentalErrorMessage, comprehensiveDeductibleRentalErrorMessage, invalidRegistrationIdMessage,\r\n};\r\n","/* eslint no-underscore-dangle: 0 */\r\n/* eslint dot-notation: 0 */\r\nimport Vue from 'vue';\r\nimport { make } from 'vuex-pathify';\r\nimport axios from 'axios';\r\nimport { orderBy } from 'lodash';\r\nimport helpers from '../../mixins/helpers';\r\nimport { genericErrorMessage } from '../../mixins/errorMessages';\r\n\r\n// Creates a custom ULS log object with the required properties.\r\nfunction UlsObject() {\r\n this.message = null;\r\n this.file = null;\r\n this.line = null;\r\n this.client = null;\r\n this.tracker = null;\r\n this.team = null;\r\n this.originalFile = null;\r\n}\r\n\r\n// Creates a custom file log object with the required properties.\r\n// eslint-disable-next-line no-unused-vars\r\nfunction FileObject() {\r\n this.level = null;\r\n this.file = null;\r\n this.method = null;\r\n this.message = null;\r\n this.client = null;\r\n this.tracker = null;\r\n this.originalFile = null;\r\n}\r\n\r\nconst functions = {\r\n s4: () => (Math.floor((1 + Math.random()) * 0x10000)\r\n .toString(16).substring(1)),\r\n getClientInfo() {\r\n let builtDetail = '';\r\n if (navigator.userAgentData) {\r\n const hints = ['architecture', 'model', 'platform', 'platformVersion', 'uaFullVersion', 'fullVersionList'];\r\n navigator.userAgentData.getHighEntropyValues(hints).then((ua) => {\r\n builtDetail += ua.platform || navigator.userAgentData.platform;\r\n\r\n if (ua.mobile) {\r\n builtDetail += `(${ua.model})`;\r\n } else {\r\n builtDetail += `(${ua.architecture})`;\r\n }\r\n builtDetail += ` ${ua.platformVersion}`;\r\n if (ua.fullVersionList.length > 0) {\r\n for (let v = 0; v < ua.fullVersionList.length; v += 1) {\r\n const versionDetail = ua.fullVersionList[v];\r\n if (versionDetail.brand !== '.Not/A)Brand') {\r\n builtDetail += `/${versionDetail.version} ${versionDetail.brand}`;\r\n }\r\n }\r\n } else if (ua.brands.length > 0) {\r\n for (let i = 0; i < ua.brands.length; i += 1) {\r\n const brandDetail = ua.brands[i];\r\n if (brandDetail.brand !== '.Not/A)Brand') {\r\n builtDetail += `/${brandDetail.version} ${brandDetail.brand}`;\r\n }\r\n }\r\n }\r\n });\r\n\r\n return `${builtDetail}`;\r\n }\r\n\r\n // eslint-disable-next-line prefer-destructuring\r\n if (navigator.userAgent) {\r\n return `${navigator.userAgent}`;\r\n }\r\n\r\n const browserName = navigator.appCodeName;\r\n const browserVersion = navigator.appVersion;\r\n return `name='${browserName}' version='${browserVersion}'`;\r\n },\r\n encodeXmlString(txt) {\r\n return txt.toString().trim()\r\n .replace(//g, ']')\r\n // .replace(/'/g, ''')\r\n // .replace(/\"/g, '"')\r\n .replace(/&/g, '&');\r\n },\r\n encodeMessageString(txt) {\r\n return txt.toString().trim()\r\n .replace('', '')\r\n .replace('', '')\r\n .replace('', '')\r\n .replace(/(\\s\\s)+/gim, '')\r\n .replace(/(|<\\/html>)/gim, '')\r\n .replace(/(|<\\/head>)+/gim, '')\r\n .replace(/(|<\\/title>)+/gim, '')\r\n .replace(/(<body>|<\\/body>)+/gim, '')\r\n .replace(/(<p>|<p class=\"heading1\">|<p xmlns=\"\">|<div>|<div id=\"content\">)+/gim, '')\r\n .replace(/(<\\/p>|<\\/div)+/gim, '<br>')\r\n .replace(/[\\n\\r]+/gim, '<br>')\r\n // eslint-disable-next-line no-control-regex\r\n .replace(/[\\r\\n\\x0B\\x0C\\u0085\\u2028\\u2029]+/gim, '<br>')\r\n .replace(/\\r\\n|\\r|\\n+/gim, '<br>')\r\n .replace(/[\\t]+/gim, '-')\r\n .replace(/</g, '[')\r\n .replace(/>/g, ']');\r\n // .replace( /'/g, \"'\" )\r\n // .replace( /\"/g, \""\" )\r\n // .replace( /&/g, \"&\" );\r\n // encodedText = sanitizeString( encodedText );\r\n\r\n // return encodedText;\r\n },\r\n generateErrorPacket(ulsObj) {\r\n return `<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\r\n <soap:Body><SendClientScriptErrorReport xmlns=\"http://schemas.microsoft.com/sharepoint/diagnostics/\">\r\n <message>${this.encodeMessageString(ulsObj.message)}</message>\r\n <file>${this.encodeXmlString(ulsObj.file)}</file>\r\n <line>${ulsObj.line}</line>\r\n <stack>${this.encodeXmlString(ulsObj.stack)}</stack>\r\n <client>${this.encodeXmlString(ulsObj.client)}</client>\r\n <team>${this.encodeXmlString(ulsObj.team)}</team>\r\n <originalFile>${this.encodeXmlString(ulsObj.originalFile)}</originalFile>\r\n </SendClientScriptErrorReport></soap:Body></soap:Envelope>`;\r\n },\r\n countMessageChunks(logMessage) {\r\n if (!logMessage) return 0;\r\n if (logMessage === null) return 0;\r\n if (logMessage.length <= 1000) return 1;\r\n return Math.floor((logMessage.length / 1000)) + 1;\r\n },\r\n logMessageClear(logMessage, startIdx) {\r\n if (!logMessage) return '';\r\n if (logMessage === null) return '';\r\n if (logMessage.length <= 1000) return logMessage;\r\n\r\n // console.log(`startIdx:${startIdx}`);\r\n // console.log(logMessage.substring(startIdx, (startIdx + 1000)));\r\n\r\n return logMessage.substring(startIdx, (startIdx + 1000));\r\n },\r\n};\r\n\r\nconst sharePointListUrl = `${process.env.VUE_APP_ROOT_URI}/_api/lists/getbytitle('%%LIST%%')/items`;\r\nconst sharePointSearchUrl = `${process.env.VUE_APP_ROOT_URI}/_api/search/query`;\r\nconst mailServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/TFBIC.Services.RESTSendEmail/`;\r\nconst popupIndicatorName = process.env.VUE_APP_WEB_ENV !== 'PROD' ? `tfb_${process.env.VUE_APP_WEB_ENV}_popup` : 'tfb_popup';\r\n\r\nconst config = {\r\n crossdomain: true,\r\n // withCredentials: true,\r\n headers: { 'Access-Control-Allow-Origin': '*', Accept: 'application/json; odata=verbose' },\r\n};\r\nconst mailConfig = {\r\n crossdomain: true,\r\n // withCredentials: true,\r\n headers: { 'Access-Control-Allow-Origin': '*', Accept: 'application/json; odata=verbose', 'Content-Type': 'application/json; odata=verbose' },\r\n};\r\n\r\nfunction searchTransform(searchResults, rowCount, context, tfbId) {\r\n const returnSearch = {\r\n TotalRows: rowCount,\r\n Results: [],\r\n };\r\n try {\r\n // Get the results from the Query Rules\r\n if (searchResults.SecondaryQueryResults\r\n && searchResults.SecondaryQueryResults.results\r\n && searchResults.SecondaryQueryResults.results.length > 0\r\n && searchResults.SecondaryQueryResults.results[0].SpecialTermResults\r\n && searchResults.SecondaryQueryResults.results[0].SpecialTermResults.Results\r\n && searchResults.SecondaryQueryResults.results[0].SpecialTermResults.Results.results\r\n && searchResults.SecondaryQueryResults.results[0].SpecialTermResults.Results.results.length > 0) {\r\n for (let i = 0; i < searchResults.SecondaryQueryResults.results[0].SpecialTermResults.Results.results.length; i += 1) {\r\n const result = searchResults.SecondaryQueryResults.results[0].SpecialTermResults.Results.results[i];\r\n\r\n returnSearch.Results.push({\r\n Id: i + 1,\r\n Title: result.Title,\r\n Path: result.Url,\r\n Highlighted: result.Description,\r\n Rank: ((i + 1) * 100),\r\n Photo: null,\r\n });\r\n }\r\n }\r\n\r\n // Get the results from the search\r\n if (searchResults.PrimaryQueryResult\r\n && searchResults.PrimaryQueryResult.RelevantResults\r\n && searchResults.PrimaryQueryResult.RelevantResults.Table\r\n && searchResults.PrimaryQueryResult.RelevantResults.Table.Rows\r\n && searchResults.PrimaryQueryResult.RelevantResults.Table.Rows.results\r\n && searchResults.PrimaryQueryResult.RelevantResults.Table.Rows.results.length > 0) {\r\n for (let i = 0; i < searchResults.PrimaryQueryResult.RelevantResults.Table.Rows.results.length; i += 1) {\r\n const result = searchResults.PrimaryQueryResult.RelevantResults.Table.Rows.results[i];\r\n if (result.Cells && result.Cells.results && result.Cells.results.length > 0) {\r\n // 0: Rank,1: DocId,2: Title,3: BlogCategoryOWSCHCS,4: BlogSubCategoryOWSCHCS,5: BlogUrlCategoryOWSCHCS,6: BlogSlugOWSTEXT,\r\n // 7: BlurbOWSTEXT, 8: CountyIdOWSNMBR, 9: OfficeBranchCodeOWSCHCS, 10: ServiceTypeOWSTEXT, 11: AgentId, 12: FAQAnswerOWSHTML,\r\n // 13: HitHighlightedSummary, 14: Path, 15: OriginalPath, 16: PartitionId, 17: UrlZone, 18: Culture, 19: ResultTypeId, 20: RenderTemplateId\r\n if (!helpers.methods.containsString(result.Cells.results[14].Value, 'sitemap') && !helpers.methods.containsString(result.Cells.results[14].Value.toLowerCase(), 'allitems.aspx')) {\r\n let updatedTitle = result.Cells.results[2].Value;\r\n let updatedPhoto = null;\r\n let updatedPath = process.env.VUE_APP_ROOT_URI;\r\n let updatedHighlighted = helpers.methods.replaceAll(result.Cells.results[13].Value, '<ddd/>', '...');\r\n updatedHighlighted = helpers.methods.replaceAll(updatedHighlighted, '<c0>', '<strong>');\r\n updatedHighlighted = helpers.methods.replaceAll(updatedHighlighted, '</c0>', '</strong>');\r\n\r\n if (result.Cells.results[6].Value !== null) {\r\n // Blog entry\r\n updatedPath += '/blog';\r\n\r\n if (result.Cells.results[5].Value !== null) {\r\n const cleanUrlCategoryName = helpers.methods.replaceAll(helpers.methods.replaceAll(result.Cells.results[5].Value, ' and ', '-'), ' ', '-').toLowerCase();\r\n updatedPath += `/${cleanUrlCategoryName}/${result.Cells.results[6].Value.toLowerCase()}`;\r\n } else if (result.Cells.results[3].Value !== null) {\r\n const cleanCategoryName = helpers.methods.replaceAll(helpers.methods.replaceAll(result.Cells.results[3].Value, ' and ', '-'), ' ', '-').toLowerCase();\r\n updatedPath += `/${cleanCategoryName}`;\r\n\r\n if (result.Cells.results[4].Value !== null) {\r\n const cleanSubCategoryName = helpers.methods.replaceAll(helpers.methods.replaceAll(result.Cells.results[4].Value, ' and ', '-'), ' ', '-').toLowerCase();\r\n updatedPath += `/${cleanSubCategoryName}/${result.Cells.results[6].Value.toLowerCase()}`;\r\n } else {\r\n updatedPath += `/${result.Cells.results[6].Value.toLowerCase()}`;\r\n }\r\n }\r\n\r\n if (updatedHighlighted === null || updatedHighlighted === '') {\r\n if (result.Cells.results[7].Value !== null) {\r\n updatedHighlighted = result.Cells.results[7].Value;\r\n }\r\n }\r\n } else if (result.Cells.results[10].Value !== null) {\r\n // Service entry\r\n updatedPath += `/insurance/${result.Cells.results[10].Value}`;\r\n } else if (result.Cells.results[8].Value !== null) {\r\n // County entry\r\n updatedTitle += ' County Office';\r\n const cleanCountyName = helpers.methods.replaceAll(result.Cells.results[2].Value, ' ', '-').toLowerCase();\r\n updatedPath += `/county/details/${cleanCountyName}`;\r\n\r\n if (result.Cells.results[9].Value !== null) {\r\n // Branch entry\r\n updatedTitle += ` - ${result.Cells.results[9].Value.toLowerCase()}`;\r\n updatedPath += `/${result.Cells.results[9].Value.toLowerCase()}`;\r\n }\r\n } else if (result.Cells.results[11].Value !== null) {\r\n // Agent entry\r\n updatedPath += `/insurance/agent/${result.Cells.results[11].Value}`;\r\n updatedPhoto = `${process.env.VUE_APP_ROOT_URI}/agentphotos/${result.Cells.results[11].Value}.jpg`;\r\n } else if (result.Cells.results[12].Value !== null) {\r\n // FAQ entry\r\n updatedPath = null;\r\n\r\n updatedHighlighted = result.Cells.results[12].Value.replace(/(http:\\/\\/tfbtel\\.)/igm, 'tel:').replace(/(http:\\/\\/tfbtel\\.)/igm, 'tel:');\r\n if (updatedHighlighted.indexOf('\\n\\n') >= 0) {\r\n updatedHighlighted = updatedHighlighted.substring(0, updatedHighlighted.indexOf('\\n\\n'));\r\n }\r\n } else if (result.Cells.results[2].Value !== null && result.Cells.results[2].Value.length === 5) {\r\n // Agent entry\r\n updatedPath += `/insurance/agent/${result.Cells.results[2].Value}`;\r\n updatedPhoto = `${process.env.VUE_APP_ROOT_URI}/agentphotos/${result.Cells.results[2].Value}.jpg`;\r\n } else if (result.Cells.results[14].Value !== null) {\r\n // Something else\r\n updatedPath = result.Cells.results[14].Value;\r\n }\r\n\r\n returnSearch.Results.push({\r\n Id: result.Cells.results[1].Value,\r\n Title: updatedTitle,\r\n Path: updatedPath,\r\n Highlighted: updatedHighlighted,\r\n Rank: result.Cells.results[0].Value,\r\n Photo: updatedPhoto,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (returnSearch.Results && returnSearch.Results !== null && returnSearch.Results.length > 0) {\r\n const sortedResults = orderBy(returnSearch.Results, ['Rank'], ['desc']);\r\n returnSearch.Results = sortedResults;\r\n }\r\n } catch (error) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'app.js', methodName: 'searchTransform', trackerId: tfbId,\r\n }, { root: true });\r\n // return searchResults;\r\n }\r\n return returnSearch;\r\n}\r\n\r\nfunction parseErrorMessage(errorText) {\r\n let outputErrorText = genericErrorMessage;\r\n try {\r\n if (errorText && errorText !== null) {\r\n if (errorText.ErrorMessage) {\r\n outputErrorText = errorText.ErrorMessage;\r\n } else if (errorText.errorMessage) {\r\n outputErrorText = errorText.errorMessage;\r\n } else if (errorText._errorMessage) {\r\n outputErrorText = errorText._errorMessage;\r\n } else if (errorText.Error) {\r\n outputErrorText = errorText.Error;\r\n } else if (errorText.message) {\r\n outputErrorText = errorText.message;\r\n } else if (errorText !== '') {\r\n if (errorText.indexOf('status code 401') >= 0) {\r\n // return sessionErrorMessage;\r\n return genericErrorMessage;\r\n }\r\n if (errorText.indexOf('status code 400') >= 0 || errorText.indexOf('status code 500') >= 0) {\r\n return genericErrorMessage;\r\n }\r\n if (errorText.indexOf('invalid_grant') >= 0) {\r\n // return sessionErrorMessage;\r\n return 'Username/Password Not Found';\r\n }\r\n outputErrorText = errorText;\r\n }\r\n } else {\r\n outputErrorText = genericErrorMessage;\r\n }\r\n } catch (error) {\r\n // Do nothing\r\n }\r\n return outputErrorText.replace('user id', 'email address').replace('Error: ', '').replace('Network Error', genericErrorMessage);\r\n}\r\n\r\nconst mutations = {\r\n SET_ACCESS_PAGE(state, accessPage) {\r\n state.accessPage = accessPage;\r\n },\r\n SET_IS_LOADING(state, isLoading) {\r\n state.isLoading = isLoading;\r\n },\r\n SET_IS_DOCUMENT_LOADING(state, isDocumentLoading) {\r\n state.isDocumentLoading = isDocumentLoading;\r\n },\r\n SET_ERROR_MESSAGE(state, errorMessage) {\r\n state.errorMessage = errorMessage;\r\n },\r\n SET_TFB_ID(state) {\r\n state.tfbId = `${functions.s4()}${functions.s4()}-${functions.s4()}-${functions.s4()}-${functions.s4()}-${functions.s4()}${functions.s4()}${functions.s4()}`;\r\n },\r\n SET_JD_POWER(state, value) {\r\n state.showJdPower = value;\r\n },\r\n SET_DRAWER(state, value) {\r\n state.drawer = value;\r\n },\r\n SET_MODAL(state, value) {\r\n state.modal = value;\r\n },\r\n SET_TEXT_ELIGIBLE(state, value) {\r\n state.textEligible = value;\r\n },\r\n SET_SEARCH_VISIBLE(state, value) {\r\n state.searchVisible = value;\r\n },\r\n SET_LENDERDOCK(state, value) {\r\n state.lenderdock = value;\r\n },\r\n SET_QUOTE_AGENT_CODE(state, value) {\r\n state.quoteAgentCode = value;\r\n },\r\n SET_REGISTERED_FISERV_PAYMENT_URL(state, value) {\r\n state.registeredFiservPaymentUrl = value;\r\n },\r\n SET_NON_REGISTERED_FISERV_PAYMENT_URL(state, value) {\r\n state.nonRegisteredFiservPaymentUrl = value;\r\n },\r\n SET_MEMBERSHIP_PAYMENTS_URL(state, value) {\r\n state.membershipPaymentsUrl = value;\r\n },\r\n SET_NON_REGISTERED_INVOICE_CLOUD_PAYMENT_URL(state, value) {\r\n state.nonRegisteredInvoiceCloudPaymentUrl = value;\r\n },\r\n SET_INVOICE_CLOUD_IFRAME_URL(state, value) {\r\n state.invoiceCloudIFrameUrl = value;\r\n },\r\n SET_CLAIM_POINT_URL(state, value) {\r\n state.claimPointUrl = value;\r\n },\r\n SET_APPLE_STORE_URL(state, value) {\r\n state.appleAppStoreLink = value;\r\n },\r\n SET_GOOGLE_STORE_URL(state, value) {\r\n state.googleAppStoreLink = value;\r\n },\r\n SET_PAYMENT_WORDING_DISPLAY(state, value) {\r\n state.paymentWordingDisplay = value;\r\n },\r\n SET_LIVE_CHAT_ENABLED(state, value) {\r\n state.liveChatEnabled = value;\r\n },\r\n SET_DRIVE_N_SAVE_ENABLED(state, value) {\r\n state.driveNSaveEnabled = value;\r\n },\r\n SET_AGERO_ROADSIDE_ENABLED(state, value) {\r\n state.ageroRoadsideEnabled = value;\r\n },\r\n SET_CLAIM_POINT_ENABLED(state, value) {\r\n state.claimPointEnabled = value;\r\n },\r\n SET_PH_MOBILE_APP_DISPLAY(state, value) {\r\n state.policyholderMobileAppDisplay = value;\r\n },\r\n SET_MOBILE_APP_DISPLAY(state, value) {\r\n state.mobileAppDisplay = value;\r\n },\r\n SET_GW_PAYMENTS_ENABLED(state, value) {\r\n state.guidewirePaymentsEnabled = value;\r\n },\r\n SET_LOGIN_CAPTCHA_ENABLED(state, value) {\r\n state.loginCaptchaEnabled = value;\r\n },\r\n SET_CONTACT_UPDATE_ENABLED(state, value) {\r\n state.contactUpdateEnabled = value;\r\n },\r\n SET_PHONE_VERIFICATION_ENABLED(state, value) {\r\n state.phoneVerificationEnabled = value;\r\n },\r\n};\r\n\r\nconst state = {\r\n drawer: null,\r\n modal: null,\r\n isLoading: false,\r\n isDocumentLoading: false,\r\n tfbId: null,\r\n showJdPower: false,\r\n errorMessage: '',\r\n accessPage: null,\r\n textEligible: null,\r\n ebillEligible: null,\r\n lenderdock: false,\r\n quoteAgentCode: '',\r\n registeredFiservPaymentUrl: null,\r\n nonRegisteredFiservPaymentUrl: null,\r\n claimPointUrl: null,\r\n paymentWordingDisplay: 'N',\r\n searchVisible: false,\r\n liveChatEnabled: 'N',\r\n driveNSaveEnabled: 'N',\r\n ageroRoadsideEnabled: 'N',\r\n claimPointEnabled: 'N',\r\n mobileAppDisplay: 'N',\r\n policyholderMobileAppDisplay: 'N',\r\n guidewirePaymentsEnabled: 'N',\r\n loginCaptchaEnabled: 'N',\r\n contactUpdateEnabled: 'N',\r\n phoneVerificationEnabled: 'N',\r\n appleAppStoreLink: null,\r\n googleAppStoreLink: null,\r\n nonRegisteredInvoiceCloudPaymentUrl: null,\r\n invoiceCloudIFrameUrl: null,\r\n membershipPaymentsUrl: null,\r\n};\r\n\r\nconst actions = {\r\n async setNonRegisteredFiservPaymentsUrl(context) {\r\n await context.dispatch('getConfiguration', { sSection: 'ExternalUrl', sTitle: 'NonRegisteredPaymentsEncrypted' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_NON_REGISTERED_FISERV_PAYMENT_URL', response);\r\n }\r\n });\r\n },\r\n async setRegisteredFiservPaymentsUrl(context) {\r\n await context.dispatch('getConfiguration', { sSection: 'ExternalUrl', sTitle: 'RegisteredPaymentsEncrypted' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_REGISTERED_FISERV_PAYMENT_URL', response);\r\n }\r\n });\r\n },\r\n async setInvoiceCloudMembershipPaymentsUrl(context) {\r\n await context.dispatch('getConfiguration', { sSection: 'ExternalUrl', sTitle: 'InvoiceCloudMembershipPayments' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_MEMBERSHIP_PAYMENTS_URL', response);\r\n }\r\n });\r\n },\r\n async setMembershipPaymentsUrl(context) {\r\n await context.dispatch('getConfiguration', { sSection: 'ExternalUrl', sTitle: 'MembershipPayments' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_MEMBERSHIP_PAYMENTS_URL', response);\r\n }\r\n });\r\n },\r\n async setNonRegisteredInvoiceCloudPaymentUrl(context) {\r\n await context.dispatch('getConfiguration', { sSection: 'ExternalUrl', sTitle: 'NonRegisteredInvoiceCloudPaymentUrl' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_NON_REGISTERED_INVOICE_CLOUD_PAYMENT_URL', response);\r\n }\r\n });\r\n },\r\n async setInvoiceCloudIFrameUrl(context) {\r\n await context.dispatch('getConfiguration', { sSection: 'ExternalUrl', sTitle: 'InvoiceCloudIFrameUrl' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_INVOICE_CLOUD_IFRAME_URL', response);\r\n }\r\n });\r\n },\r\n async setClaimPointUrl(context) {\r\n await context.dispatch('getConfiguration', { sSection: 'ExternalUrl', sTitle: 'ClaimPointUrl' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_CLAIM_POINT_URL', response);\r\n }\r\n });\r\n },\r\n async setAppleAppStoreLink(context) {\r\n await context.dispatch('getConfiguration', { sSection: 'ExternalUrl', sTitle: 'AppleAppStoreAppLink' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_APPLE_STORE_URL', response);\r\n }\r\n });\r\n },\r\n async setGooglePlayStoreLink(context) {\r\n await context.dispatch('getConfiguration', { sSection: 'ExternalUrl', sTitle: 'GooglePlayStoreAppLink' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_GOOGLE_STORE_URL', response);\r\n }\r\n });\r\n },\r\n // START: Feature Flags\r\n async setJdPower(context) {\r\n await context.dispatch('getFeatureFlag', { sTitle: 'JDPower' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_JD_POWER', (response === 'Y'));\r\n }\r\n });\r\n },\r\n async setPaymentWordingDisplay(context) {\r\n await context.dispatch('getFeatureFlag', { sTitle: 'PaymentWordingDisplay' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_PAYMENT_WORDING_DISPLAY', response);\r\n }\r\n });\r\n },\r\n async setLiveChatEnabled(context) {\r\n await context.dispatch('getFeatureFlag', { sTitle: 'LiveChatEnabled' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_LIVE_CHAT_ENABLED', response);\r\n }\r\n });\r\n },\r\n async setDriveNSaveEnabled(context) {\r\n await context.dispatch('getFeatureFlag', { sTitle: 'DriveNSaveEnabled ' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_DRIVE_N_SAVE_ENABLED', response);\r\n }\r\n });\r\n },\r\n async setAgeroRoadsideEnabled(context) {\r\n await context.dispatch('getFeatureFlag', { sTitle: 'AgeroRoadsideEnabled' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_AGERO_ROADSIDE_ENABLED', response);\r\n }\r\n });\r\n },\r\n async setClaimPointEnabled(context) {\r\n await context.dispatch('getFeatureFlag', { sTitle: 'ClaimPointDisplay' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_CLAIM_POINT_ENABLED', response);\r\n }\r\n });\r\n },\r\n async setLoginCaptchaEnabled(context) {\r\n await context.dispatch('getFeatureFlag', { sTitle: 'LoginCaptchaEnabled' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_LOGIN_CAPTCHA_ENABLED', response);\r\n }\r\n });\r\n },\r\n async setContactUpdateEnabled(context) {\r\n await context.dispatch('getFeatureFlag', { sTitle: 'ContactUpdateEnabled' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_CONTACT_UPDATE_ENABLED', response);\r\n }\r\n });\r\n },\r\n async setPhoneVerificationEnabled(context) {\r\n await context.dispatch('getFeatureFlag', { sTitle: 'PhoneVerificationEnabled' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_PHONE_VERIFICATION_ENABLED', response);\r\n }\r\n });\r\n },\r\n async setPHMobileAppBannerEnabled(context) {\r\n await context.dispatch('getFeatureFlag', { sTitle: 'PHMobileAppBannerDisplay' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_PH_MOBILE_APP_DISPLAY', response);\r\n }\r\n });\r\n },\r\n async setMobileAppBannerEnabled(context) {\r\n await context.dispatch('getFeatureFlag', { sTitle: 'MobileAppBannerDisplay' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_MOBILE_APP_DISPLAY', response);\r\n }\r\n });\r\n },\r\n async setGuidewirePaymentsEnabled(context) {\r\n await context.dispatch('getFeatureFlag', { sTitle: 'GuidewirePaymentsEnabled' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_GW_PAYMENTS_ENABLED', response);\r\n }\r\n });\r\n },\r\n checkMobileAppDisplay(context) {\r\n const popupSession = sessionStorage.getItem(popupIndicatorName);\r\n const popupCookie = Vue.$cookies.get(popupIndicatorName);\r\n\r\n // console.log(popupSession);\r\n // console.log(popupCookie);\r\n\r\n // Is information populated in the SessionStorage?\r\n if (popupSession !== undefined && popupSession !== null && popupSession === 'true') {\r\n context.commit('SET_MOBILE_APP_DISPLAY', 'N');\r\n }\r\n\r\n // Is information populated in the Cookie?\r\n if (popupCookie !== undefined && popupCookie !== null && popupCookie === 'true') {\r\n context.commit('SET_MOBILE_APP_DISPLAY', 'N');\r\n } else {\r\n context.dispatch('setMobileAppBannerEnabled');\r\n }\r\n },\r\n async setMobileAppDisplay(context) {\r\n Vue.$cookies.set(popupIndicatorName, 'true', '3d');\r\n sessionStorage.setItem(popupIndicatorName, 'true');\r\n context.commit('SET_MOBILE_APP_DISPLAY', 'N');\r\n },\r\n // END: Feature Flags\r\n setAccessPage(context, accessPage) {\r\n context.commit('SET_ACCESS_PAGE', accessPage);\r\n },\r\n async doApplicationCheck(context, sRequest) {\r\n const currentTimestamp = new Date().toISOString();\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl.replace('%%LIST%%', 'applicationmaintenance')}?$select=*&$filter=Title eq '${sRequest.sApplicationName}'`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d.results && response.data.d.results.length > 0\r\n && response.data.d.results[0].StartTime <= currentTimestamp\r\n && response.data.d.results[0].EndTime > currentTimestamp) {\r\n resolve(response.data.d.results[0].MaintenanceMessage);\r\n }\r\n\r\n resolve('');\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'app.js', methodName: 'doApplicationCheck-Error', trackerId: sRequest.sTfbId,\r\n });\r\n reject(error);\r\n });\r\n });\r\n },\r\n async setVisitor(context) {\r\n context.commit('SET_TFB_ID');\r\n context.dispatch('setNonRegisteredFiservPaymentsUrl');\r\n context.dispatch('setRegisteredFiservPaymentsUrl');\r\n context.dispatch('setClaimPointUrl');\r\n context.dispatch('setAppleAppStoreLink');\r\n context.dispatch('setGooglePlayStoreLink');\r\n context.dispatch('setNonRegisteredInvoiceCloudPaymentUrl');\r\n context.dispatch('setInvoiceCloudIFrameUrl');\r\n // START: Feature Flags\r\n context.dispatch('setPaymentWordingDisplay');\r\n context.dispatch('setLiveChatEnabled');\r\n context.dispatch('setDriveNSaveEnabled');\r\n context.dispatch('setAgeroRoadsideEnabled');\r\n context.dispatch('setClaimPointEnabled');\r\n context.dispatch('checkMobileAppDisplay');\r\n context.dispatch('setPHMobileAppBannerEnabled');\r\n context.dispatch('setLoginCaptchaEnabled');\r\n context.dispatch('setContactUpdateEnabled');\r\n context.dispatch('setPhoneVerificationEnabled');\r\n await context.dispatch('setGuidewirePaymentsEnabled')\r\n .then(() => {\r\n if (context.state.guidewirePaymentsEnabled === 'Y') {\r\n context.dispatch('setInvoiceCloudMembershipPaymentsUrl');\r\n } else {\r\n context.dispatch('setMembershipPaymentsUrl');\r\n }\r\n });\r\n // END: Feature Flags\r\n await context.dispatch('setJdPower')\r\n .then(() => {\r\n const parsed = JSON.stringify({\r\n tfbId: context.state.tfbId,\r\n showJdPower: context.state.showJdPower,\r\n });\r\n sessionStorage.setItem('tfb_visitor', parsed);\r\n });\r\n },\r\n setIsLoading(context, isLoading) {\r\n context.commit('SET_IS_LOADING', isLoading);\r\n },\r\n setIsDocumentLoading(context, isDocumentLoading) {\r\n context.commit('SET_IS_DOCUMENT_LOADING', isDocumentLoading);\r\n },\r\n setErrorMessage(context, errorMessage) {\r\n context.commit('SET_ERROR_MESSAGE', `<strong>Error:</strong> ${parseErrorMessage(errorMessage)}`);\r\n },\r\n setEbillEligible(context, ebillStatus) {\r\n context.commit('SET_EBILL_ELIGIBLE', ebillStatus);\r\n },\r\n setTextEligible(context, textStatus) {\r\n context.commit('SET_TEXT_ELIGIBLE', textStatus);\r\n },\r\n setQuoteAgentCode(context, agentCode) {\r\n context.commit('SET_QUOTE_AGENT_CODE', agentCode);\r\n },\r\n clearErrorMessage(context) {\r\n context.commit('SET_ERROR_MESSAGE', '');\r\n },\r\n getStateList() {\r\n return new Promise((resolve) => {\r\n resolve([{ StateCode: 'AL', StateName: 'Alabama' }, { StateCode: 'AK', StateName: 'Alaska' }, { StateCode: 'AZ', StateName: 'Arizona' }, { StateCode: 'AR', StateName: 'Arkansas' },\r\n { StateCode: 'CA', StateName: 'California' }, { StateCode: 'CO', StateName: 'Colorado' }, { StateCode: 'CT', StateName: 'Connecticut' }, { StateCode: 'DE', StateName: 'Delaware' },\r\n { StateCode: 'DC', StateName: 'District of Columbia' }, { StateCode: 'FL', StateName: 'Florida' }, { StateCode: 'GA', StateName: 'Georgia' }, { StateCode: 'HI', StateName: 'Hawaii' },\r\n { StateCode: 'ID', StateName: 'Idaho' }, { StateCode: 'IL', StateName: 'Illinois' }, { StateCode: 'IN', StateName: 'Indiana' }, { StateCode: 'IA', StateName: 'Iowa' },\r\n { StateCode: 'KS', StateName: 'Kansas' }, { StateCode: 'KY', StateName: 'Kentucky' }, { StateCode: 'LA', StateName: 'Louisiana' }, { StateCode: 'ME', StateName: 'Maine' },\r\n { StateCode: 'MD', StateName: 'Maryland' }, { StateCode: 'MA', StateName: 'Massachusetts' }, { StateCode: 'MI', StateName: 'Michigan' }, { StateCode: 'MN', StateName: 'Minnesota' },\r\n { StateCode: 'MS', StateName: 'Mississippi' }, { StateCode: 'MO', StateName: 'Missouri' }, { StateCode: 'MT', StateName: 'Montana' }, { StateCode: 'NE', StateName: 'Nebraska' },\r\n { StateCode: 'NV', StateName: 'Nevada' }, { StateCode: 'NH', StateName: 'New Hampshire' }, { StateCode: 'NJ', StateName: 'New Jersey' }, { StateCode: 'NM', StateName: 'New Mexico' },\r\n { StateCode: 'NY', StateName: 'New York' }, { StateCode: 'NC', StateName: 'North Carolina' }, { StateCode: 'ND', StateName: 'North Dakota' }, { StateCode: 'OH', StateName: 'Ohio' },\r\n { StateCode: 'OK', StateName: 'Oklahoma' }, { StateCode: 'OR', StateName: 'Oregon' }, { StateCode: 'PA', StateName: 'Pennsylvania' }, { StateCode: 'PR', StateName: 'Puerto Rico' },\r\n { StateCode: 'RI', StateName: 'Rhode Island' }, { StateCode: 'SC', StateName: 'South Carolina' }, { StateCode: 'SD', StateName: 'South Dakota' },\r\n { StateCode: 'TN', StateName: 'Tennessee' }, { StateCode: 'TX', StateName: 'Texas' }, { StateCode: 'UT', StateName: 'Utah' }, { StateCode: 'VT', StateName: 'Vermont' },\r\n { StateCode: 'VA', StateName: 'Virginia' }, { StateCode: 'WA', StateName: 'Washington' }, { StateCode: 'WV', StateName: 'West Virginia' }, { StateCode: 'WI', StateName: 'Wisconsin' },\r\n { StateCode: 'WY', StateName: 'Wyoming' }, { StateCode: 'AS', StateName: 'American Samoa' }, { StateCode: 'GU', StateName: 'Guam' }, { StateCode: 'MP', StateName: 'Northern Marina Islands' },\r\n { StateCode: 'PR', StateName: 'Puerto Rico' }, { StateCode: 'VI', StateName: 'US Virgin Islands' }, { StateCode: 'UM', StateName: 'US Minor Outlying Islands' },\r\n { StateCode: 'FM', StateName: 'Federated States of Micronesia' }, { StateCode: 'MH', StateName: 'Marshall Islands' }, { StateCode: 'PW', StateName: 'Palau' },\r\n { StateCode: 'AA', StateName: 'Armed Forces Americas' }, { StateCode: 'AE', StateName: 'Armed Forces Europe' }, { StateCode: 'AP', StateName: 'Armed Forces Pacific' }]);\r\n });\r\n },\r\n getSearchResults(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Info', logMessage: `Searching for: ${sRequest.sSearchTerm}, starting at ${sRequest.sStartRow}`, fileName: 'app.js', methodName: 'getSearchResults-Start', trackerId: sRequest.sTfbId,\r\n });\r\n\r\n axios\r\n .get(`${sharePointSearchUrl}?querytext='${sRequest.sSearchTerm}'&selectproperties='Title,BlogCategoryOWSCHCS,BlogSubCategoryOWSCHCS,BlogUrlCategoryOWSCHCS,BlogSlugOWSTEXT,BlurbOWSTEXT,CountyIdOWSNMBR,OfficeBranchCodeOWSCHCS,ServiceTypeOWSTEXT,AgentId,FAQAnswerOWSHTML,HitHighlightedSummary,Path'&startRow=${sRequest.sStartRow}&rowLimit=10&QueryTemplatePropertiesUrl='spfile://webroot/queryparametertemplate.xml'`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d\r\n && response.data.d.query && response.data.d.query.PrimaryQueryResult\r\n && response.data.d.query.PrimaryQueryResult.RelevantResults\r\n && response.data.d.query.PrimaryQueryResult.RelevantResults.Table\r\n && response.data.d.query.PrimaryQueryResult.RelevantResults.Table.Rows\r\n && response.data.d.query.PrimaryQueryResult.RelevantResults.Table.Rows.results\r\n && response.data.d.query.PrimaryQueryResult.RelevantResults.Table.Rows.results.length > 0) {\r\n resolve(searchTransform(response.data.d.query, response.data.d.query.PrimaryQueryResult.RelevantResults.TotalRows,\r\n context, sRequest.sTfbId));\r\n }\r\n\r\n resolve([]);\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'app.js', methodName: 'getSearchResults-Error', trackerId: sRequest.sTfbId,\r\n });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getBlogSearchResults(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Info', logMessage: `Searching blog for: ${sRequest.sSearchTerm}`, fileName: 'app.js', methodName: 'getBlogSearchResults-Start', trackerId: sRequest.sTfbId,\r\n });\r\n\r\n axios\r\n .get(`${sharePointSearchUrl}?querytext='${sRequest.sSearchTerm}+AND+(path:${process.env.VUE_APP_ROOT_URI}/lists/blog)'&selectproperties='Title,BlogCategoryOWSCHCS,BlogSubCategoryOWSCHCS,BlogUrlCategoryOWSCHCS,BlogSlugOWSTEXT,BlurbOWSTEXT,CountyIdOWSNMBR,OfficeBranchCodeOWSCHCS,ServiceTypeOWSTEXT,AgentId,FAQAnswerOWSHTML,HitHighlightedSummary,Path'&startRow=${sRequest.sStartRow}&rowLimit=10&QueryTemplatePropertiesUrl='spfile://webroot/queryparametertemplate.xml'`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d\r\n && response.data.d.query && response.data.d.query.PrimaryQueryResult\r\n && response.data.d.query.PrimaryQueryResult.RelevantResults\r\n && response.data.d.query.PrimaryQueryResult.RelevantResults.Table\r\n && response.data.d.query.PrimaryQueryResult.RelevantResults.Table.Rows\r\n && response.data.d.query.PrimaryQueryResult.RelevantResults.Table.Rows.results\r\n && response.data.d.query.PrimaryQueryResult.RelevantResults.Table.Rows.results.length > 0) {\r\n resolve(searchTransform(response.data.d.query, response.data.d.query.PrimaryQueryResult.RelevantResults.TotalRows,\r\n context, sRequest.sTfbId));\r\n }\r\n\r\n resolve([]);\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'app.js', methodName: 'getBlogSearchResults-Error', trackerId: sRequest.sTfbId,\r\n });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getNotices(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl.replace('%%LIST%%', 'notice')}?$select=*`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d.results) {\r\n resolve(response.data.d.results);\r\n }\r\n\r\n resolve([]);\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'app.js', methodName: 'getNotices-Error', trackerId: sRequest.sTfbId,\r\n });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getAgentDetails(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl.replace('%%LIST%%', 'agentdetails')}?$select=*&$filter=AgentId eq '${sRequest.sAgentCode}'`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d.results && response.data.d.results.length > 0) {\r\n resolve(response.data.d.results[0]);\r\n } else {\r\n resolve(null);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'app.js', methodName: 'getAgentDetails-Error', trackerId: sRequest.sTfbId,\r\n });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getChatPilot(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl.replace('%%LIST%%', 'chatpilot')}?$select=*&$filter=AgentId eq '${sRequest.sAgentCode}'`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d.results && response.data.d.results.length > 0) {\r\n resolve(response.data.d.results[0]);\r\n } else {\r\n resolve(null);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'app.js', methodName: 'getChatPilot-Error', trackerId: sRequest.sTfbId,\r\n });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getConfiguration(context, sRequest) {\r\n // TODO: Store configuration values and fetch from store when able\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl.replace('%%LIST%%', 'websiteconfiguration')}?$select=ConfigValue&$filter=((Section eq '${sRequest.sSection}') and (Title eq '${sRequest.sTitle}'))`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d\r\n && response.data.d.results && response.data.d.results.length > 0) {\r\n resolve(response.data.d.results[0].ConfigValue);\r\n }\r\n\r\n resolve('');\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'app.js', methodName: 'getConfiguration-Error', trackerId: sRequest.sTfbId,\r\n });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getFeatureFlag(context, sRequest) {\r\n // TODO: Store configuration values and fetch from store when able\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl.replace('%%LIST%%', 'featureflags')}?$select=Value&$filter=(Title eq '${sRequest.sTitle}')`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d\r\n && response.data.d.results && response.data.d.results.length > 0) {\r\n resolve(response.data.d.results[0].Value);\r\n }\r\n\r\n resolve('N');\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'app.js', methodName: 'getFeatureFlag-Error', trackerId: sRequest.sTfbId,\r\n });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getCountyDetails(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n let detailUrl = `${sharePointListUrl.replace('%%LIST%%', 'countydetails')}?$select=*&$filter=Title eq '${sRequest.sCountyName.replace('-', ' ')}'`;\r\n\r\n if (sRequest.sBranchCode && sRequest.sBranchCode !== null && sRequest.sBranchCode !== '') {\r\n detailUrl += ` and OfficeBranchCode eq '${sRequest.sBranchCode.toUpperCase()}'`;\r\n }\r\n\r\n axios\r\n .get(detailUrl, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d.results && response.data.d.results.length > 0) {\r\n resolve(response.data.d.results[0]);\r\n } else {\r\n resolve(null);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'app.js', methodName: 'getCountyDetails-Error', trackerId: sRequest.sTfbId,\r\n });\r\n reject(error);\r\n });\r\n });\r\n },\r\n async getStaticDocuments(context, sRequest) {\r\n // const currentTimestamp = new Date().toISOString();\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl.replace('%%LIST%%', 'staticdocuments')}?$select=Title,File,ID,DocumentType&$filter=DocumentLoB eq '${sRequest.sLineOfBusiness}'\r\nand DocumentStartDate le '${sRequest.sEffectiveDate}' and DocumentEndDate ge '${sRequest.sEffectiveDate}'`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d.results && response.data.d.results.length > 0) {\r\n const staticFileReturn = [];\r\n for (let i = 0; i < response.data.d.results.length; i += 1) {\r\n const fileResult = response.data.d.results[i];\r\n\r\n if (fileResult !== null && fileResult.File !== null && fileResult.File.__deferred !== null && fileResult.File.__deferred.uri !== null) {\r\n context.dispatch('getStaticDocument', {\r\n sFileUrl: fileResult.File.__deferred.uri.toLowerCase(), sTfbId: sRequest.sTfbId,\r\n })\r\n .then((fileFetchResult) => {\r\n staticFileReturn.push({\r\n ID: fileResult.ID,\r\n Title: fileResult.Title,\r\n DocumentType: fileResult.DocumentType,\r\n Url: fileFetchResult.ServerRelativeUrl.toLowerCase(),\r\n });\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n }\r\n }\r\n resolve(staticFileReturn);\r\n }\r\n\r\n resolve('');\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'app.js', methodName: 'getStaticDocuments-Error', trackerId: sRequest.sTfbId,\r\n });\r\n reject(error);\r\n });\r\n });\r\n },\r\n async getStaticDocument(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(sRequest.sFileUrl, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d) {\r\n resolve(response.data.d);\r\n }\r\n\r\n resolve('');\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'app.js', methodName: 'getStaticDocument-Error', trackerId: sRequest.sTfbId,\r\n });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getVideosByPage(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const videoArray = [];\r\n axios\r\n .get(`${sharePointListUrl.replace('%%LIST%%', 'videos')}?$select=*&$filter=DisplayPage eq '${sRequest.sPage}' and TFBEnabled eq 1&$orderby=OrderBy`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d.results && response.data.d.results.length > 0) {\r\n for (let e = 0; e < response.data.d.results.length; e += 1) {\r\n const videoEntry = response.data.d.results[e];\r\n\r\n if (videoEntry && videoEntry.ID) {\r\n videoArray.push({\r\n Id: videoEntry.ID,\r\n Order: videoEntry.OrderBy,\r\n SubTitle: videoEntry.SubTitle,\r\n Title: videoEntry.Title,\r\n Thumbnail: videoEntry.AlternateThumbnailUrl !== null ? videoEntry.AlternateThumbnailUrl.Url : '',\r\n });\r\n }\r\n }\r\n }\r\n\r\n const sortedVideos = orderBy(videoArray, ['OrderBy'], ['asc']);\r\n resolve(sortedVideos);\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'app.js', methodName: 'getVideosByPage-Error', trackerId: sRequest.sTfbId,\r\n });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getVideoById(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl.replace('%%LIST%%', 'videos')}(${sRequest.sId})/Properties`, config)\r\n .then((propertyResponse) => {\r\n if (propertyResponse && propertyResponse.data && propertyResponse.data.d) {\r\n if (propertyResponse.data.d.VideoSetDefaultEncoding) {\r\n // Get video link\r\n const videoUrl = propertyResponse.data.d.VideoSetDefaultEncoding.split(',');\r\n resolve({ Embed: null, Url: videoUrl[0] });\r\n } else if (propertyResponse.data.d.VideoSetEmbedCode) {\r\n // Get video link\r\n resolve({ Embed: propertyResponse.data.d.VideoSetEmbedCode, Url: null });\r\n } else {\r\n resolve({ Embed: null, Url: null });\r\n }\r\n }\r\n })\r\n .catch((propertyError) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(propertyError), fileName: 'app.js', methodName: 'getVideoById-Error', trackerId: sRequest.sTfbId,\r\n });\r\n reject(propertyError);\r\n });\r\n });\r\n },\r\n getFaqsByKeyword(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl.replace('%%LIST%%', 'faqs')}?$select=ID,Title,FAQAnswer,FAQGoogleIndicator,OrderBy,TaxKeyword&$filter=TaxCatchAll/Term eq '\r\n${sRequest.sKeyword}'&$orderby=OrderBy`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d.results) {\r\n resolve(response.data.d.results);\r\n } else {\r\n resolve([]);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'app.js', methodName: 'getFaqsByKeyword-Error', trackerId: sRequest.sTfbId,\r\n });\r\n reject(error);\r\n });\r\n });\r\n },\r\n /**\r\n * logToULS\r\n * Function to log error messages to Diagnostic web service.\r\n * Modified From: https://msdn.microsoft.com/en-us/library/office/hh803115(v=office.14).aspx\r\n * Used instead of ULSOnError/SP.ULS because it is inconsistent and only logs system/SharePoint\r\n * generated errors\r\n * @param {string} logLevel - Level of importance (Verbose, Info, Warning, Error)\r\n * @param {string} logMessage - Message to log\r\n * @param {string} fileName - File which triggered log request\r\n * @param {string} methodName - Code method/group which triggered log request\r\n * @param {string} trackerId - Visitor tracking id\r\n * @returns {} - No return\r\n */\r\n // eslint-disable-next-line no-unused-vars\r\n logToULS(context, sRequest) {\r\n const ulsObj = new UlsObject();\r\n const logConfig = {\r\n crossdomain: true,\r\n // withCredentials: true,\r\n headers: {\r\n 'Access-Control-Allow-Origin': '*', Accept: 'application/xml, text/xml, */*; odata=verbose', 'Content-Type': 'text/xml; charset=utf-8; odata=verbose',\r\n },\r\n };\r\n\r\n if (sRequest.logMessage && sRequest.logMessage !== null && sRequest.logMessage !== '') {\r\n const chunkCount = functions.countMessageChunks(sRequest.logMessage);\r\n // console.log(`chunkCount:${chunkCount}`);\r\n\r\n for (let i = 0; i < chunkCount; i += 1) {\r\n const messageIndex = i * 1000;\r\n const messageCounter = `(${i + 1} of ${chunkCount}) `;\r\n // Build ULS object\r\n ulsObj.stack = sRequest.trackerId || '0000000';\r\n ulsObj.team = sRequest.fileName || 'Unknown';\r\n ulsObj.file = sRequest.methodName || 'Unknown';\r\n ulsObj.line = 0;\r\n ulsObj.originalFile = window.location.href;\r\n\r\n // Create client information.\r\n ulsObj.client = functions.getClientInfo();\r\n ulsObj.message = `${chunkCount > 1 ? messageCounter : ''}${functions.logMessageClear(sRequest.logMessage, messageIndex)}`;\r\n\r\n if (ulsObj.message && ulsObj.message !== null && ulsObj.message !== '') {\r\n // Create the soap packet.\r\n const soapPacket = functions.generateErrorPacket(ulsObj);\r\n\r\n // Post to the web service.\r\n axios.post(`${process.env.VUE_APP_ROOT_URI}/_vti_bin/diagnostics.asmx`, soapPacket, logConfig);\r\n // console.log(soapPacket);\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n },\r\n sendMail(context, sRequest) {\r\n const sendMailRequest = {\r\n BCC: sRequest.sBCC, Body: sRequest.sBody, CC: sRequest.sCC, From: sRequest.sFrom, Subject: sRequest.sSubject, To: sRequest.sTo, Token: sRequest.sToken,\r\n };\r\n\r\n return axios.post(`${mailServiceUrl}/mail`, sendMailRequest, mailConfig);\r\n },\r\n};\r\n\r\nconst getters = {\r\n ...make.getters(state),\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n","import { make } from 'vuex-pathify';\r\nimport axios from 'axios';\r\nimport helpers from '../../mixins/helpers';\r\n/* eslint no-underscore-dangle: 0 */\r\n\r\n// Vue.http.options.credentials = true;\r\n\r\n// Vue.http.options.xhr = {\r\n// withCredentials: true,\r\n// };\r\n// Vue.http.options.emulateJSON = true;\r\n// Vue.http.options.emulateHTTP = true;\r\n// Vue.http.options.crossOrigin = true;\r\n\r\n// Vue.http.headers.common['Access-Control-Allow-Origin'] = '*';\r\n// Vue.http.headers.common['Content-Type'] = 'application/x-www-form-urlencoded';\r\n// Vue.http.headers.common['Accept'] = 'application/json, text/plain, */*';\r\n// Vue.http.headers.common['Access-Control-Allow-Headers'] =\r\n// 'Origin, Accept, Content-Type, Authorization, Access-Control-Allow-Origin';\r\n\r\nconst agentLookupServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/tfbic.services.restagent.lookup/rest_agentlookup.svc`;\r\nconst countyLookupServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/tfbic.services.restcounty.lookup/rest_countylookup.svc`;\r\n\r\nconst config = {\r\n crossdomain: true,\r\n // withCredentials: true,\r\n // headers: { 'Access-Control-Allow-Origin': '*', Accept: 'application/json;' },\r\n // headers: { 'Access-Control-Allow-Origin': '*' },\r\n // headers: { Accept: 'application/json;' },\r\n};\r\n\r\nfunction agentTransform(agentData, context, agentDistance, tfbId) {\r\n try {\r\n if (agentData) {\r\n const agentName = ((!agentData._preferredName || agentData._preferredName === '') ? (`${agentData._firstName} ${agentData._lastName}`) : (`${agentData._preferredName} ${agentData._lastName}`));\r\n const agentMailingAddress = helpers.methods.buildAddress(agentData._mailingAddress, agentData._mailingAddress2, null,\r\n agentData._mailingCity, agentData._mailingState, agentData._mailingZip, agentData._mailingZip4, null);\r\n const agentPhysicalAddress = helpers.methods.buildAddress(agentData._physicalAddress, agentData._physicalAddress2, null,\r\n agentData._physicalCity, agentData._physicalState, agentData._physicalZip, agentData._physicalZip4, null);\r\n const officeMapUrl = helpers.methods.buildMapAddress(agentData._physicalAddress, agentData._physicalAddress2, null,\r\n agentData._physicalCity, agentData._physicalState, agentData._physicalZip, agentData._physicalZip4, null);\r\n const agentInfoBox = helpers.methods.buildAgentInfoBox(agentName, agentData._physicalAddress, agentData._physicalAddress2, agentData._physicalCity,\r\n agentData._physicalState, agentData._physicalZip);\r\n\r\n return {\r\n aboutAgent: agentData._aboutText,\r\n code: agentData._agentCode,\r\n startDate: agentData._agentSinceDate,\r\n emailAddress: agentData._emailAddress.toLowerCase(),\r\n errorMessage: agentData._errorMessage,\r\n faxNumber: helpers.methods.removePhoneFormatting(agentData._faxNumber),\r\n firstName: agentData._firstName,\r\n lastName: agentData._lastName,\r\n name: agentName,\r\n distance: agentDistance,\r\n county: '',\r\n branchCode: '',\r\n countyName: '',\r\n agentUrl: '',\r\n mailingAddress: {\r\n addressLineOne: agentData._mailingAddress,\r\n addressLineTwo: agentData._mailingAddress2,\r\n addressLineThree: '',\r\n addressCity: agentData._mailingCity,\r\n addressState: agentData._mailingState,\r\n addressZipCode: agentData._mailingZip,\r\n addressZipCode4: agentData._mailingZip4,\r\n addressZipCode2: '',\r\n addressLatitude: agentData._mailingLatitude,\r\n addressLongitude: agentData._mailingLongitude,\r\n },\r\n mailingAddressDisplay: agentMailingAddress,\r\n latitude: agentData._physicalLatitude,\r\n longitude: agentData._physicalLongitude,\r\n phoneNumber: helpers.methods.removePhoneFormatting(agentData._phoneNumber),\r\n photo: `${process.env.VUE_APP_ROOT_URI}/agentphotos/${agentData._agentCode}.jpg`,\r\n physicalAddress: {\r\n addressLineOne: agentData._physicalAddress,\r\n addressLineTwo: agentData._physicalAddress2,\r\n addressLineThree: '',\r\n addressCity: agentData._physicalCity,\r\n addressState: agentData._physicalState,\r\n addressZipCode: agentData._physicalZip,\r\n addressZipCode4: agentData._physicalZip4,\r\n addressZipCode2: '',\r\n addressLatitude: agentData._physicalLatitude,\r\n addressLongitude: agentData._physicalLongitude,\r\n },\r\n physicalAddressDisplay: agentPhysicalAddress,\r\n mapUrl: officeMapUrl,\r\n preferredName: agentData._preferredName,\r\n designation: agentData._titleDesignation,\r\n agentMapInfoBox: agentInfoBox,\r\n };\r\n }\r\n\r\n return agentData;\r\n } catch (error) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'agentcounty.js', methodName: 'agentTransform-Catch', trackerId: tfbId,\r\n }, { root: true });\r\n return agentData;\r\n }\r\n}\r\n\r\nfunction dsmTransform(dsmData, context, tfbId) {\r\n try {\r\n if (dsmData) {\r\n const dsmName = ((!dsmData._preferredName || dsmData._preferredName === '') ? (`${dsmData._firstName} ${dsmData._lastName}`) : (`${dsmData._preferredName} ${dsmData._lastName}`));\r\n\r\n return {\r\n code: dsmData._agentCode,\r\n emailAddress: dsmData._emailAddress,\r\n errorMessage: dsmData._errorMessage,\r\n firstName: dsmData._firstName,\r\n lastName: dsmData._lastName,\r\n name: dsmName,\r\n phoneNumber: helpers.methods.removePhoneFormatting(dsmData._phoneNumber),\r\n photo: `${process.env.VUE_APP_ROOT_URI}/agentphotos/${dsmData._agentCode}.jpg`,\r\n preferredName: dsmData._preferredName,\r\n designation: dsmData._designation,\r\n };\r\n }\r\n\r\n return dsmData;\r\n } catch (error) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'agentcounty.js', methodName: 'dsmTransform-Catch', trackerId: tfbId,\r\n }, { root: true });\r\n return dsmData;\r\n }\r\n}\r\n\r\n/**\r\n * officeTransform\r\n * @param {object} data - JSON object of office data\r\n * @param {string} latitude - latitude of the office\r\n * @param {string} longitude - longitude of the office\r\n * @returns {object} - JSON object of formatted office data\r\n */\r\nfunction officeTransform(officeData, context, latitude, longitude, tfbId) {\r\n try {\r\n const returnOffice = [];\r\n\r\n if (officeData) {\r\n if (officeData._errorMessage === null || officeData._errorMessage === '') {\r\n if (officeData._countyOffice) {\r\n for (let i = 0; i < officeData._countyOffice.length; i += 1) {\r\n const office = officeData._countyOffice[i];\r\n if (office) {\r\n let officeDistance = 0;\r\n const officeMailingAddress = helpers.methods.buildAddress(office._mailingStreetAddress, office._mailingStreetAddress2, null,\r\n office._mailingCity, office._mailingState, office._mailingZip, office._mailingZip4, null);\r\n const officePhysicalAddress = helpers.methods.buildAddress(office._physicalStreetAddress, office._physicalStreetAddress2, null,\r\n office._physicalCity, office._physicalState, office._physicalZip, office._physicalZip4, null);\r\n const officeMapUrl = helpers.methods.buildMapAddress(office._physicalStreetAddress, office._physicalStreetAddress2, null,\r\n office._physicalCity, office._physicalState, office._physicalZip, office._physicalZip4, null);\r\n const officeInfoBox = helpers.methods.buildOfficeInfoBox(`${office._name} Location`, office._name, office._branchCode,\r\n office._physicalStreetAddress, office._physicalStreetAddress2, office._physicalCity, office._physicalState, office._physicalZip);\r\n\r\n if (latitude !== null && longitude !== null) {\r\n officeDistance = (3959 * Math.acos(Math.cos(latitude * Math.PI / 180)\r\n * Math.cos(office._latitude * Math.PI / 180) * Math.cos((office._longitude * Math.PI / 180)\r\n - (longitude * Math.PI / 180)) + Math.sin(latitude * Math.PI / 180) * Math.sin(office._latitude * Math.PI / 180)));\r\n }\r\n\r\n const officeListing = {\r\n name: office._name,\r\n branchCode: office._branchCode,\r\n distance: officeDistance,\r\n latitude: office._latitude,\r\n longitude: office._longitude,\r\n officeNumber: office._officeNumber,\r\n salesDistrict: office._salesDistrict,\r\n faxNumber: helpers.methods.removePhoneFormatting(office._faxNumber),\r\n phoneNumber: helpers.methods.removePhoneFormatting(office._phoneNumber),\r\n mailingAddress: {\r\n addressLineOne: office._mailingStreetAddress,\r\n addressLineTwo: office._mailingStreetAddress2,\r\n addressLineThree: '',\r\n addressCity: office._mailingCity,\r\n addressState: office._mailingState,\r\n addressZipCode: office._mailingZip,\r\n addressZipCode4: office._mailingZip4,\r\n addressZipCode2: '',\r\n addressLatitude: office._mailingLatitude,\r\n addressLongitude: office._mailingLongitude,\r\n },\r\n mailingAddressDisplay: officeMailingAddress,\r\n physicalAddress: {\r\n addressLineOne: office._physicalStreetAddress,\r\n addressLineTwo: office._physicalStreetAddress2,\r\n addressLineThree: '',\r\n addressCity: office._physicalCity,\r\n addressState: office._physicalState,\r\n addressZipCode: office._physicalZip,\r\n addressZipCode4: office._physicalZip4,\r\n addressZipCode2: '',\r\n addressLatitude: office.physicalLatitude,\r\n addressLongitude: office._physicalLongitude,\r\n },\r\n physicalAddressDisplay: officePhysicalAddress,\r\n mapUrl: officeMapUrl,\r\n officeMapInfoBox: officeInfoBox,\r\n };\r\n\r\n returnOffice.push(officeListing);\r\n }\r\n }\r\n\r\n return returnOffice;\r\n }\r\n }\r\n }\r\n return officeData;\r\n } catch (error) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'agentcounty.js', methodName: 'officeTransform-Catch', trackerId: tfbId,\r\n }, { root: true });\r\n return officeData;\r\n }\r\n}\r\n\r\n// state\r\nconst state = {\r\n aboutAgent: '',\r\n code: '',\r\n startDate: '',\r\n emailAddress: '',\r\n errorMessage: null,\r\n faxNumber: '',\r\n firstName: '',\r\n lastName: '',\r\n name: '',\r\n mailingAddress: {\r\n addressLineOne: '',\r\n addressLineTwo: '',\r\n addressLineThree: '',\r\n addressCity: '',\r\n addressState: '',\r\n addressZipCode: '',\r\n addressZipCode4: '',\r\n addressZipCode2: '',\r\n addressLatitude: '',\r\n addressLongitude: '',\r\n },\r\n phoneNumber: '',\r\n photo: '',\r\n physicalAddress: {\r\n addressLineOne: '',\r\n addressLineTwo: '',\r\n addressLineThree: '',\r\n addressCity: '',\r\n addressState: '',\r\n addressZipCode: '',\r\n addressZipCode4: '',\r\n addressZipCode2: '',\r\n addressLatitude: '',\r\n addressLongitude: '',\r\n },\r\n preferredName: '',\r\n designation: '',\r\n};\r\n\r\n// mutations\r\nconst mutations = {\r\n ...make.mutations(state),\r\n};\r\n\r\n// getters\r\nconst getters = {\r\n ...make.getters(state),\r\n};\r\n\r\n// actions\r\nconst actions = {\r\n getAgentList(context) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${agentLookupServiceUrl}/agents`, config)\r\n .then((agentResponse) => {\r\n resolve(agentResponse);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'agentcounty.js', methodName: 'getAgentList-Catch', trackerId: '',\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getAgentsByOffice(context, sRequest) {\r\n let serviceUrl = `${agentLookupServiceUrl}/agentsbycounty?county=${helpers.methods.replaceAll(sRequest.sCountyName, '-', ' ')}&branch=`;\r\n if (sRequest.sBranchCode && sRequest.sBranchCode !== '') {\r\n serviceUrl += `${sRequest.sBranchCode}`;\r\n }\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(serviceUrl, config)\r\n .then((countyResponse) => {\r\n resolve(countyResponse);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'agentcounty.js', methodName: 'getAgentsByOffice-Catch', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n async getAgentCodeByEmail(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${agentLookupServiceUrl}/agent/email/${sRequest.sAgentEmail}`,\r\n config)\r\n .then((agentResponse) => {\r\n if (agentResponse && agentResponse.data) {\r\n resolve(agentResponse.data);\r\n } else {\r\n resolve(null);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'agentcounty.js', methodName: 'getAgentCodeByEmail-Catch', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n async getAgentCodeByMember(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${agentLookupServiceUrl}/agent/membernumber/${sRequest.sMemberNumber}`,\r\n config)\r\n .then((agentResponse) => {\r\n if (agentResponse && agentResponse.data) {\r\n resolve(agentResponse.data);\r\n } else {\r\n resolve(null);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'agentcounty.js', methodName: 'getAgentCodeByMember-Catch', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n async getAgentDetails(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${agentLookupServiceUrl}/agentwlatlong/code/${sRequest.sAgentCode}`,\r\n config)\r\n .then((agentResponse) => {\r\n if (agentResponse && agentResponse.data) {\r\n const agentDetails = agentTransform(agentResponse.data, context, sRequest.sDistance, sRequest.sTfbId);\r\n if (agentDetails._errorMessage && (agentDetails._errorMessage !== null || agentDetails._errorMessage !== '')) {\r\n agentDetails.code = sRequest.sAgentCode;\r\n agentDetails.photo = `${process.env.VUE_APP_ROOT_URI}/agentphotos/9999-.jpg`;\r\n resolve(agentDetails);\r\n } else {\r\n // TODO: Get county/branch from first service\r\n context.dispatch('getAgentList', {\r\n sTfbId: sRequest.sTfbId,\r\n })\r\n .then((foundAgents) => {\r\n if (foundAgents !== null && foundAgents.data !== null && foundAgents.data.length > 0) {\r\n for (let a = 0; a < foundAgents.data.length; a += 1) {\r\n const agent = foundAgents.data[a];\r\n if (agent._agentCode === sRequest.sAgentCode) {\r\n const countyName = helpers.methods.replaceAll(agent._countyName, ' ', '-').toLowerCase();\r\n const agentName = helpers.methods.replaceAll(helpers.methods.replaceAll(helpers.methods.replaceAll(agent._agentName, ' ', '-'), '.', ''), ',', '').toLowerCase();\r\n agentDetails.agentUrl = `https://${window.location.host}/insurance/agent/${countyName}/${agentName}/${agent._agentCode}`;\r\n agentDetails.countyName = agent._countyName;\r\n resolve(agentDetails);\r\n }\r\n }\r\n resolve(agentDetails);\r\n } else {\r\n resolve(agentDetails);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'agentcounty.js', methodName: 'getAgentDetails.getAgentList-Catch', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n resolve(agentDetails);\r\n });\r\n }\r\n } else {\r\n resolve(null);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'agentcounty.js', methodName: 'getAgentDetails-Catch', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n async getCountyList(context) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${countyLookupServiceUrl}/county`,\r\n config)\r\n .then((countyResponse) => {\r\n resolve(countyResponse);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'agentcounty.js', methodName: 'getCountyList-Catch', trackerId: '',\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getOfficesByLatLong(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${countyLookupServiceUrl}/county/office/${sRequest.sLatitude}/${sRequest.sLongitude}/${sRequest.sRadius}`,\r\n config)\r\n .then((officeResponse) => {\r\n if (officeResponse && officeResponse.data) {\r\n resolve(officeTransform(officeResponse.data, context, sRequest.sLatitude, sRequest.sLongitude, sRequest.sTfbId));\r\n } else {\r\n resolve(null);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'agentcounty.js', methodName: 'getOfficesByLatLong-Catch', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getOfficesByCounty(context, sRequest) {\r\n let serviceUrl = `${countyLookupServiceUrl}/county/${helpers.methods.replaceAll(sRequest.sCountyName, '-', ' ')}`;\r\n\r\n if (sRequest.sBranchCode && sRequest.sBranchCode !== '') {\r\n serviceUrl += `/branch/${sRequest.sBranchCode}`;\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(serviceUrl, config)\r\n .then((officeResponse) => {\r\n if (officeResponse && officeResponse.data) {\r\n resolve(officeTransform(officeResponse.data, context, null, null, sRequest.sTfbId));\r\n } else {\r\n resolve(null);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'agentcounty.js', methodName: 'getOfficesByCounty-Catch', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n async getSalesManager(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${agentLookupServiceUrl}/dsm/county/${sRequest.sCountyName}`,\r\n config)\r\n .then((dsmResponse) => {\r\n if (dsmResponse && dsmResponse.data) {\r\n resolve(dsmTransform(dsmResponse.data, context, sRequest.sTfbId));\r\n } else {\r\n resolve(null);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'agentcounty.js', methodName: 'getSalesManager-Catch', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations,\r\n};\r\n","import { make } from 'vuex-pathify';\r\nimport axios from 'axios';\r\nimport helpers from '../../mixins/helpers';\r\n/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\r\n/* eslint dot-notation: 0 */\r\n/* eslint no-underscore-dangle: 0 */\r\n\r\nconst sharePointListUrl = `${process.env.VUE_APP_ROOT_URI}/_api/lists/getbytitle('blog')/items`;\r\nconst listFields = 'ID,Title,SeoTitle,BlogCategory,BlogSubCategory,BlogUrlCategory,SeoDescription,Blurb,BlogSlug,HeaderImage,ArticleStartDate,BlogAuthor';\r\n\r\nconst config = {\r\n crossdomain: true,\r\n // withCredentials: true,\r\n headers: { 'Access-Control-Allow-Origin': '*', Accept: 'application/json; odata=verbose' },\r\n};\r\n\r\nfunction blogPostNotFound(sRequest) {\r\n return {\r\n title: 'Post Not Found',\r\n category: sRequest.sCategory,\r\n seodescription: 'Post Not Found',\r\n url: sRequest.sUrl,\r\n urlCategory: sRequest.sCategory,\r\n id: 0,\r\n };\r\n}\r\n\r\nfunction singleBlogPostTransform(foundPost, context, tfbId) {\r\n try {\r\n if (foundPost) {\r\n let postUrl = `${process.env.VUE_APP_ROOT_URI}/blog`;\r\n\r\n if (foundPost.BlogUrlCategory && foundPost.BlogUrlCategory !== null && foundPost.BlogUrlCategory !== '') {\r\n postUrl += `/${helpers.methods.kebabify(foundPost.BlogUrlCategory).toLowerCase()}/${helpers.methods.kebabify(foundPost.BlogSlug).toLowerCase()}`;\r\n } else {\r\n postUrl += `/${helpers.methods.kebabify(foundPost.BlogCategory).toLowerCase()}`;\r\n\r\n if (foundPost.BlogSubCategory && foundPost.BlogSubCategory !== null && foundPost.BlogSubCategory !== '') {\r\n postUrl += `/${helpers.methods.kebabify(foundPost.BlogSubCategory).toLowerCase()}/${helpers.methods.kebabify(foundPost.BlogSlug).toLowerCase()}`;\r\n } else {\r\n postUrl += `/${helpers.methods.kebabify(foundPost.BlogSlug).toLowerCase()}`;\r\n }\r\n }\r\n\r\n const postTags = [];\r\n let jsonTags = '';\r\n\r\n if (foundPost.TaxKeyword && foundPost.TaxKeyword.results && foundPost.TaxKeyword.results.length > 0) {\r\n for (let t = 0; t < foundPost.TaxKeyword.results.length; t += 1) {\r\n postTags.push(foundPost.TaxKeyword.results[t].Label);\r\n jsonTags += `${foundPost.TaxKeyword.results[t].Label},`;\r\n }\r\n }\r\n\r\n return {\r\n title: foundPost.Title,\r\n seotitle: foundPost.SeoTitle ? foundPost.SeoTitle : foundPost.Title,\r\n category: foundPost.BlogCategory,\r\n subcategory: foundPost.BlogSubCategory,\r\n tags: postTags,\r\n author: helpers.methods.replaceAll(foundPost.BlogAuthor, ';', ' and '),\r\n illustrator: helpers.methods.replaceAll(foundPost.BlogIllustrator, ';', ' and '),\r\n publishDate: foundPost.ArticleStartDate,\r\n modifiedDate: foundPost.Modified,\r\n headerImage: foundPost.HeaderImage.Url.toLowerCase(),\r\n blurb: foundPost.Blurb,\r\n seodescription: foundPost.SeoDescription ? foundPost.SeoDescription : foundPost.Blurb,\r\n url: foundPost.BlogSlug.toLowerCase(),\r\n urlCategory: foundPost.BlogUrlCategory && foundPost.BlogUrlCategory !== null && foundPost.BlogUrlCategory !== '' ? foundPost.BlogUrlCategory : foundPost.BlogCategory,\r\n fullUrl: postUrl,\r\n text: foundPost.BlogText,\r\n id: foundPost.ID,\r\n jsonld: {\r\n '@context': 'https://schema.org',\r\n '@type': 'NewsArticle',\r\n headline: foundPost.Title,\r\n image: foundPost.HeaderImage.Url.toLowerCase(),\r\n datePublished: foundPost.ArticleStartDate,\r\n dateModified: foundPost.Modified,\r\n abstract: foundPost.SeoDescription ? foundPost.SeoDescription : foundPost.Blurb,\r\n articleSection: foundPost.BlogCategory,\r\n articleBody: foundPost.BlogText,\r\n author: helpers.methods.replaceAll(foundPost.BlogAuthor, ';', ' and'),\r\n url: postUrl,\r\n mainEntityOfPage: postUrl,\r\n publisher: {\r\n '@type': 'Organization',\r\n name: 'Texas Farm Bureau Insurance',\r\n logo: `${process.env.VUE_APP_ROOT_URI}/publishingimages/tfb-logo.jpg`,\r\n },\r\n keywords: jsonTags,\r\n },\r\n };\r\n }\r\n\r\n return null;\r\n } catch (error) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'blog.js', methodName: 'singleBlogPostTransform', trackerId: tfbId,\r\n }, { root: true });\r\n return null;\r\n }\r\n}\r\n\r\nfunction singleBlogPostNoJsonTransform(foundPost, context, tfbId) {\r\n try {\r\n if (foundPost) {\r\n let postUrl = `${process.env.VUE_APP_ROOT_URI}/blog`;\r\n\r\n if (foundPost.BlogUrlCategory && foundPost.BlogUrlCategory !== null && foundPost.BlogUrlCategory !== '') {\r\n postUrl += `/${helpers.methods.kebabify(foundPost.BlogUrlCategory).toLowerCase()}/${helpers.methods.kebabify(foundPost.BlogSlug).toLowerCase()}`;\r\n } else {\r\n postUrl += `/${helpers.methods.kebabify(foundPost.BlogCategory).toLowerCase()}`;\r\n\r\n if (foundPost.BlogSubCategory && foundPost.BlogSubCategory !== null && foundPost.BlogSubCategory !== '') {\r\n postUrl += `/${helpers.methods.kebabify(foundPost.BlogSubCategory).toLowerCase()}/${helpers.methods.kebabify(foundPost.BlogSlug).toLowerCase()}`;\r\n } else {\r\n postUrl += `/${helpers.methods.kebabify(foundPost.BlogSlug).toLowerCase()}`;\r\n }\r\n }\r\n\r\n return {\r\n title: foundPost.Title,\r\n seotitle: foundPost.SeoTitle ? foundPost.SeoTitle : foundPost.Title,\r\n category: foundPost.BlogCategory,\r\n subcategory: foundPost.BlogSubCategory,\r\n headerImage: foundPost.HeaderImage.Url.toLowerCase(),\r\n blurb: foundPost.Blurb,\r\n seodescription: foundPost.SeoDescription ? foundPost.SeoDescription : foundPost.Blurb,\r\n url: foundPost.BlogSlug.toLowerCase(),\r\n urlCategory: foundPost.BlogUrlCategory && foundPost.BlogUrlCategory !== null && foundPost.BlogUrlCategory !== '' ? foundPost.BlogUrlCategory : foundPost.BlogCategory,\r\n fullUrl: postUrl,\r\n text: foundPost.BlogText,\r\n id: foundPost.ID,\r\n };\r\n }\r\n\r\n return null;\r\n } catch (error) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'blog.js', methodName: 'singleBlogPostTransform', trackerId: tfbId,\r\n }, { root: true });\r\n return null;\r\n }\r\n}\r\n\r\nfunction blogPostsTransform(foundPosts, context, tfbId) {\r\n try {\r\n const returnPosts = [];\r\n\r\n if (foundPosts) {\r\n for (let i = 0; i < foundPosts.length; i += 1) {\r\n const responsePost = foundPosts[i];\r\n let postUrl = `${process.env.VUE_APP_ROOT_URI}/blog`;\r\n\r\n if (responsePost.BlogUrlCategory && responsePost.BlogUrlCategory !== null && responsePost.BlogUrlCategory !== '') {\r\n postUrl += `/${helpers.methods.kebabify(responsePost.BlogUrlCategory).toLowerCase()}/${helpers.methods.kebabify(responsePost.BlogSlug).toLowerCase()}`;\r\n } else {\r\n postUrl += `/${helpers.methods.kebabify(responsePost.BlogCategory).toLowerCase()}`;\r\n\r\n if (responsePost.BlogSubCategory && responsePost.BlogSubCategory !== null && responsePost.BlogSubCategory !== '') {\r\n postUrl += `/${helpers.methods.kebabify(responsePost.BlogSubCategory).toLowerCase()}/${helpers.methods.kebabify(responsePost.BlogSlug).toLowerCase()}`;\r\n } else {\r\n postUrl += `/${helpers.methods.kebabify(responsePost.BlogSlug).toLowerCase()}`;\r\n }\r\n }\r\n\r\n const builtPost = {\r\n title: responsePost.Title,\r\n seotitle: responsePost.SeoTitle ? responsePost.SeoTitle : responsePost.Title,\r\n category: responsePost.BlogCategory,\r\n subcategory: responsePost.BlogSubCategory,\r\n headerImage: responsePost.HeaderImage.Url.toLowerCase(),\r\n blurb: responsePost.Blurb,\r\n url: responsePost.BlogSlug.toLowerCase(),\r\n urlCategory: responsePost.BlogUrlCategory && responsePost.BlogUrlCategory !== null && responsePost.BlogUrlCategory !== '' ? responsePost.BlogUrlCategory : responsePost.BlogCategory,\r\n fullUrl: postUrl,\r\n id: responsePost.ID,\r\n jsonld: {\r\n '@context': 'https://schema.org',\r\n '@type': 'NewsArticle',\r\n headline: responsePost.Title,\r\n image: responsePost.HeaderImage.Url.toLowerCase(),\r\n datePublished: responsePost.ArticleStartDate,\r\n abstract: responsePost.SeoDescription ? responsePost.SeoDescription : responsePost.Blurb,\r\n articleSection: responsePost.BlogCategory,\r\n author: helpers.methods.replaceAll(responsePost.BlogAuthor, ';', ' and'),\r\n url: postUrl,\r\n publisher: {\r\n '@type': 'Organization',\r\n name: 'Texas Farm Bureau Insurance',\r\n logo: `${process.env.VUE_APP_ROOT_URI}/publishingimages/tfb-logo.jpg`,\r\n },\r\n },\r\n };\r\n\r\n returnPosts.push(builtPost);\r\n }\r\n }\r\n\r\n return returnPosts;\r\n } catch (error) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'blog.js', methodName: 'blogPostsTransform', trackerId: tfbId,\r\n }, { root: true });\r\n return null;\r\n }\r\n}\r\n\r\nfunction blogPostsNoJsonTransform(foundPosts, context, tfbId) {\r\n try {\r\n const returnPosts = [];\r\n\r\n if (foundPosts) {\r\n for (let i = 0; i < foundPosts.length; i += 1) {\r\n const responsePost = foundPosts[i];\r\n let postUrl = `${process.env.VUE_APP_ROOT_URI}/blog`;\r\n\r\n if (responsePost.BlogUrlCategory && responsePost.BlogUrlCategory !== null && responsePost.BlogUrlCategory !== '') {\r\n postUrl += `/${helpers.methods.kebabify(responsePost.BlogUrlCategory).toLowerCase()}/${helpers.methods.kebabify(responsePost.BlogSlug).toLowerCase()}`;\r\n } else {\r\n postUrl += `/${helpers.methods.kebabify(responsePost.BlogCategory).toLowerCase()}`;\r\n\r\n if (responsePost.BlogSubCategory && responsePost.BlogSubCategory !== null && responsePost.BlogSubCategory !== '') {\r\n postUrl += `/${helpers.methods.kebabify(responsePost.BlogSubCategory).toLowerCase()}/${helpers.methods.kebabify(responsePost.BlogSlug).toLowerCase()}`;\r\n } else {\r\n postUrl += `/${helpers.methods.kebabify(responsePost.BlogSlug).toLowerCase()}`;\r\n }\r\n }\r\n\r\n returnPosts.push({\r\n title: responsePost.Title,\r\n seotitle: responsePost.SeoTitle ? responsePost.SeoTitle : responsePost.Title,\r\n category: responsePost.BlogCategory,\r\n subcategory: responsePost.BlogSubCategory,\r\n headerImage: responsePost.HeaderImage.Url.toLowerCase(),\r\n blurb: responsePost.Blurb,\r\n url: responsePost.BlogSlug.toLowerCase(),\r\n urlCategory: responsePost.BlogUrlCategory && responsePost.BlogUrlCategory !== null && responsePost.BlogUrlCategory !== '' ? responsePost.BlogUrlCategory : responsePost.BlogCategory,\r\n fullUrl: postUrl,\r\n id: responsePost.ID,\r\n });\r\n }\r\n }\r\n\r\n return returnPosts;\r\n } catch (error) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'blog.js', methodName: 'blogPostsNoJsonTransform', trackerId: tfbId,\r\n }, { root: true });\r\n return null;\r\n }\r\n}\r\n\r\nfunction blogPostsFeedTransform(foundPosts, context, tfbId) {\r\n try {\r\n const rowOne = [];\r\n let rowTwo = [];\r\n const rowThree = [];\r\n let rowFour = [];\r\n\r\n if (foundPosts) {\r\n for (let i = 0; i < foundPosts.length; i += 1) {\r\n const responsePost = foundPosts[i];\r\n let postUrl = `${process.env.VUE_APP_ROOT_URI}/blog`;\r\n\r\n if (responsePost.BlogUrlCategory && responsePost.BlogUrlCategory !== null && responsePost.BlogUrlCategory !== '') {\r\n postUrl += `/${helpers.methods.kebabify(responsePost.BlogUrlCategory).toLowerCase()}/${helpers.methods.kebabify(responsePost.BlogSlug).toLowerCase()}`;\r\n } else {\r\n postUrl += `/${helpers.methods.kebabify(responsePost.BlogCategory).toLowerCase()}`;\r\n\r\n if (responsePost.BlogSubCategory && responsePost.BlogSubCategory !== null && responsePost.BlogSubCategory !== '') {\r\n postUrl += `/${helpers.methods.kebabify(responsePost.BlogSubCategory).toLowerCase()}/${helpers.methods.kebabify(responsePost.BlogSlug).toLowerCase()}`;\r\n } else {\r\n postUrl += `/${helpers.methods.kebabify(responsePost.BlogSlug).toLowerCase()}`;\r\n }\r\n }\r\n\r\n const builtPost = {\r\n title: responsePost.Title,\r\n seotitle: responsePost.SeoTitle ? responsePost.SeoTitle : responsePost.Title,\r\n category: responsePost.BlogCategory,\r\n subcategory: responsePost.BlogSubCategory,\r\n headerImage: responsePost.HeaderImage.Url.toLowerCase(),\r\n blurb: responsePost.Blurb,\r\n url: responsePost.BlogSlug.toLowerCase(),\r\n urlCategory: responsePost.BlogUrlCategory && responsePost.BlogUrlCategory !== null && responsePost.BlogUrlCategory !== '' ? responsePost.BlogUrlCategory : responsePost.BlogCategory,\r\n fullUrl: postUrl,\r\n id: responsePost.ID,\r\n jsonld: {\r\n '@context': 'https://schema.org',\r\n '@type': 'NewsArticle',\r\n headline: responsePost.Title,\r\n image: responsePost.HeaderImage.Url.toLowerCase(),\r\n datePublished: responsePost.ArticleStartDate,\r\n abstract: responsePost.SeoDescription ? responsePost.SeoDescription : responsePost.Blurb,\r\n articleSection: responsePost.BlogCategory,\r\n author: helpers.methods.replaceAll(responsePost.BlogAuthor, ';', ' and'),\r\n url: postUrl,\r\n publisher: {\r\n '@type': 'Organization',\r\n name: 'Texas Farm Bureau Insurance',\r\n logo: `${process.env.VUE_APP_ROOT_URI}/publishingimages/tfb-logo.jpg`,\r\n },\r\n },\r\n };\r\n\r\n if (i < 3) {\r\n rowOne.push(builtPost);\r\n } else if (i < 8) {\r\n rowTwo.push(builtPost);\r\n } else if (i < 11) {\r\n rowThree.push(builtPost);\r\n } else {\r\n rowFour.push(builtPost);\r\n }\r\n }\r\n\r\n if (rowOne.length > 0) {\r\n const rowId = context.getters['postRows'].length + 1;\r\n context.commit('ADD_POST_ROWS', { id: rowId, rowType: 1, posts: rowOne });\r\n }\r\n if (rowTwo.length > 0) {\r\n const rowId = context.getters['postRows'].length + 1;\r\n\r\n if (rowTwo.length > 4) {\r\n const rowTwoA = [];\r\n const rowTwoB = rowTwo[rowTwo.length - 1];\r\n for (let p = 0; p < rowTwo.length; p += 1) {\r\n if (p < rowTwo.length - 1) {\r\n rowTwoA.push(rowTwo[p]);\r\n }\r\n }\r\n\r\n rowTwo = { singlePost: rowTwoB, postArray: rowTwoA };\r\n context.commit('ADD_POST_ROWS', { id: rowId, rowType: 2, posts: rowTwo });\r\n } else {\r\n context.commit('ADD_POST_ROWS', { id: rowId, rowType: 1, posts: rowTwo });\r\n }\r\n }\r\n if (rowThree.length > 0) {\r\n const rowId = context.getters['postRows'].length + 1;\r\n context.commit('ADD_POST_ROWS', { id: rowId, rowType: 1, posts: rowThree });\r\n }\r\n if (rowFour.length > 0) {\r\n const rowId = context.getters['postRows'].length + 1;\r\n\r\n if (rowFour.length > 4) {\r\n const rowFourA = [];\r\n const rowFourB = rowFour[rowFour.length - 1];\r\n for (let p = 0; p < rowFour.length; p += 1) {\r\n if (p < rowFour.length - 1) {\r\n rowFourA.push(rowFour[p]);\r\n }\r\n }\r\n\r\n rowFour = { singlePost: rowFourB, postArray: rowFourA };\r\n context.commit('ADD_POST_ROWS', { id: rowId, rowType: 3, posts: rowFour });\r\n } else {\r\n context.commit('ADD_POST_ROWS', { id: rowId, rowType: 1, posts: rowFour });\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'blog.js', methodName: 'blogPostsFeedTransform', trackerId: tfbId,\r\n }, { root: true });\r\n }\r\n}\r\n\r\nfunction getDefaultState() {\r\n return {\r\n postRows: [],\r\n nextPage: null,\r\n post: {\r\n title: '',\r\n category: '',\r\n subcategory: '',\r\n tags: null,\r\n author: '',\r\n illustrator: '',\r\n publishDate: '',\r\n modifiedDate: '',\r\n headerImage: '',\r\n blurb: '',\r\n seodescription: '',\r\n url: '',\r\n fullUrl: '',\r\n text: '',\r\n id: '',\r\n },\r\n };\r\n}\r\n\r\nconst state = getDefaultState();\r\n\r\nconst actions = {\r\n getPostListing(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl}?$select=${listFields}&$orderby=ArticleStartDate desc&$top=${sRequest.sTop}`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d) {\r\n if (response.data.d.__next) {\r\n context.commit('SET_NEXT_PAGE', helpers.methods.replaceAll(response.data.d.__next, '&', '&'));\r\n }\r\n\r\n if (response.data.d.results && response.data.d.results.length > 0) {\r\n resolve(blogPostsTransform(response.data.d.results, context, sRequest.sTfbId));\r\n }\r\n }\r\n\r\n resolve(null);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'blog.js', methodName: 'getPostListing-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getMorePostListing(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n if (context.state.nextPage !== null) {\r\n axios\r\n .get(context.state.nextPage, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d) {\r\n if (response.data.d.__next) {\r\n context.commit('SET_NEXT_PAGE', helpers.methods.replaceAll(response.data.d.__next, '&', '&'));\r\n } else {\r\n context.commit('SET_NEXT_PAGE', null);\r\n }\r\n\r\n if (response.data.d.results && response.data.d.results.length > 0) {\r\n resolve(blogPostsTransform(response.data.d.results, context, sRequest.sTfbId));\r\n }\r\n }\r\n\r\n resolve(null);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'blog.js', methodName: 'getMorePostListing-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n } else {\r\n resolve(null);\r\n }\r\n });\r\n },\r\n getFeedPosts(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl}?$select=${listFields}&$orderby=ArticleStartDate desc&$top=${sRequest.sTop}`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d) {\r\n if (response.data.d.results && response.data.d.results.length > 0) {\r\n blogPostsFeedTransform(response.data.d.results, context, sRequest.sTfbId);\r\n }\r\n\r\n if (response.data.d.__next) {\r\n context.commit('SET_NEXT_PAGE', helpers.methods.replaceAll(response.data.d.__next, '&', '&'));\r\n resolve(true);\r\n }\r\n }\r\n\r\n resolve(false);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'blog.js', methodName: 'getFeedPosts-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getNextFeedPosts(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(context.state.nextPage, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d) {\r\n if (response.data.d.results && response.data.d.results.length > 0) {\r\n blogPostsFeedTransform(response.data.d.results, context, sRequest.sTfbId);\r\n }\r\n\r\n if (response.data.d.__next) {\r\n context.commit('SET_NEXT_PAGE', helpers.methods.replaceAll(response.data.d.__next, '&', '&'));\r\n resolve(true);\r\n }\r\n }\r\n\r\n resolve(false);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'blog.js', methodName: 'getNextFeedPosts-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getFeaturedPosts(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl}?$select=${listFields}&$filter=(Featured eq 1)&$orderby=ArticleStartDate desc&$top=3`,\r\n config)\r\n .then((response) => {\r\n const foundPosts = [];\r\n if (response && response.data && response.data.d && response.data.d.results && response.data.d.results.length > 0) {\r\n resolve(blogPostsTransform(response.data.d.results, context, sRequest.sTfbId));\r\n }\r\n\r\n resolve(foundPosts);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'blog.js', methodName: 'getFeaturedPosts-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getNextPost(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl}?$select=${listFields}&$filter=((ID gt '${sRequest.sId}') and (ArticleStartDate ge '${sRequest.sDate}'))&$top=1`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d.results && response.data.d.results.length > 0) {\r\n resolve(singleBlogPostNoJsonTransform(response.data.d.results[0], context, sRequest.sTfbId));\r\n } else {\r\n resolve(null);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'blog.js', methodName: 'getNextPost-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getPreviousPost(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl}?$select=${listFields}&$filter=((ID lt '${sRequest.sId}') and (ArticleStartDate le '${sRequest.sDate}'))&$orderby=ArticleStartDate desc&$top=1`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d.results && response.data.d.results.length > 0) {\r\n resolve(singleBlogPostNoJsonTransform(response.data.d.results[0], context, sRequest.sTfbId));\r\n } else {\r\n resolve(null);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'blog.js', methodName: 'getPreviousPost-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getRelatedPosts(context, sRequest) {\r\n let buildUrl = `${sharePointListUrl}?$select=${listFields}&$filter=((BlogSubCategory eq '${sRequest.sSubCategory}' or BlogCategory eq '${sRequest.sCategory}')`;\r\n\r\n if (sRequest.sExcludeId) {\r\n buildUrl += ` and (ID ne '${sRequest.sExcludeId}')`;\r\n }\r\n\r\n if (sRequest.sDirection) {\r\n buildUrl += `)&$orderby=ArticleStartDate ${sRequest.sDirection}`;\r\n } else {\r\n buildUrl += ')&$orderby=ArticleStartDate desc';\r\n }\r\n\r\n buildUrl += '&$top=3';\r\n\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(buildUrl, config)\r\n .then((response) => {\r\n const foundPosts = [];\r\n if (response && response.data && response.data.d && response.data.d.results && response.data.d.results.length > 0) {\r\n resolve(blogPostsNoJsonTransform(response.data.d.results, context, sRequest.sTfbId));\r\n }\r\n\r\n resolve(foundPosts);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'blog.js', methodName: 'getRelatedPosts-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getFeedPostsByCategory(context, sRequest) {\r\n let buildUrl = `${sharePointListUrl}?$select=${listFields}&$filter=(BlogCategory eq '${sRequest.sCategory}' or BlogSubCategory eq '${sRequest.sCategory}'`;\r\n\r\n if (sRequest.sExcludeId) {\r\n buildUrl += ` and (ID ne '${sRequest.sExcludeId}')`;\r\n }\r\n\r\n buildUrl += ')&$orderby=ArticleStartDate desc';\r\n\r\n if (sRequest.sTop) {\r\n buildUrl += `&$top=${sRequest.sTop}`;\r\n } else {\r\n buildUrl += '&$top=16';\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(buildUrl, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d) {\r\n if (response.data.d.results && response.data.d.results.length > 0) {\r\n blogPostsFeedTransform(response.data.d.results, context, sRequest.sTfbId);\r\n }\r\n\r\n if (response.data.d.__next) {\r\n context.commit('SET_NEXT_PAGE', helpers.methods.replaceAll(response.data.d.__next, '&', '&'));\r\n resolve(true);\r\n }\r\n }\r\n\r\n resolve(false);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'blog.js', methodName: 'getFeedPostsByCategory-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getPostsByTag(context, sRequest) {\r\n let buildUrl = `${sharePointListUrl}?$select=${listFields}&$filter=(substringof('${helpers.methods.replaceAll(sRequest.sKeyword, '\\'', '')}',TaxCatchAll/Term))`;\r\n\r\n if (sRequest.sTop) {\r\n buildUrl += `&$top=${sRequest.sTop}`;\r\n } else {\r\n buildUrl += '&$top=16';\r\n }\r\n\r\n buildUrl += '&$orderby=ArticleStartDate desc';\r\n\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(buildUrl, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d.results && response.data.d.results.length > 0) {\r\n resolve(blogPostsTransform(response.data.d.results, context, sRequest.sTfbId));\r\n }\r\n\r\n resolve([]);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'blog.js', methodName: 'getPostsByTags-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getPostsByTags(context, sRequest) {\r\n let buildUrl = `${sharePointListUrl}?$select=${listFields}&$filter=`;\r\n\r\n for (let k = 0; k < sRequest.sKeywords.length; k += 1) {\r\n const keyword = sRequest.sKeywords[k];\r\n if (k !== 0) {\r\n buildUrl += ' or ';\r\n }\r\n\r\n buildUrl += `(substringof('${helpers.methods.replaceAll(keyword, '\\'', '')}',TaxCatchAll/Term))`;\r\n }\r\n\r\n if (sRequest.sTop) {\r\n buildUrl += `&$top=${sRequest.sTop}`;\r\n } else {\r\n buildUrl += '&$top=16';\r\n }\r\n\r\n buildUrl += '&$orderby=ArticleStartDate desc';\r\n\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(buildUrl, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d.results && response.data.d.results.length > 0) {\r\n resolve(blogPostsTransform(response.data.d.results, context, sRequest.sTfbId));\r\n }\r\n\r\n resolve([]);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'blog.js', methodName: 'getPostsByTags-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getFeedPostsByAuthor(context, sRequest) {\r\n let buildUrl = `${sharePointListUrl}?$select=${listFields}&$filter=(BlogAuthor eq '${sRequest.sAuthorName}')&$orderby=ArticleStartDate desc`;\r\n\r\n if (sRequest.sTop) {\r\n buildUrl += `&$top=${sRequest.sTop}`;\r\n } else {\r\n buildUrl += '&$top=16';\r\n }\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(buildUrl, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d) {\r\n if (response.data.d.results && response.data.d.results.length > 0) {\r\n blogPostsFeedTransform(response.data.d.results, context, sRequest.sTfbId);\r\n }\r\n\r\n if (response.data.d.__next) {\r\n context.commit('SET_NEXT_PAGE', helpers.methods.replaceAll(response.data.d.__next, '&', '&'));\r\n resolve(true);\r\n }\r\n }\r\n\r\n resolve(false);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'blog.js', methodName: 'getPostsByAuthor-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getPostById(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl}?$select=*&$filter=(ID eq '${sRequest.sId}')`, config)\r\n .then((response) => {\r\n let foundPost = { id: 0 };\r\n if (response && response.data && response.data.d && response.data.d.results && response.data.d.results.length > 0) {\r\n foundPost = singleBlogPostTransform(response.data.d.results[0], context, sRequest.sTfbId);\r\n } else {\r\n foundPost = blogPostNotFound(sRequest);\r\n }\r\n\r\n resolve(foundPost);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'blog.js', methodName: 'getPostById-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getPostByUrl(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl}?$select=*&$filter=BlogSlug eq '${sRequest.sUrl}'&$orderby=ArticleStartDate desc`, config)\r\n .then((response) => {\r\n let foundPost = { id: 0 };\r\n if (response && response.data && response.data.d && response.data.d.results && response.data.d.results.length > 0) {\r\n foundPost = singleBlogPostTransform(response.data.d.results[0], context, sRequest.sTfbId);\r\n } else {\r\n foundPost = blogPostNotFound(sRequest);\r\n }\r\n\r\n resolve(foundPost);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'blog.js', methodName: 'getPostByUrl-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n};\r\n\r\nconst mutations = {\r\n ...make.mutations(state),\r\n ADD_POST_ROWS(state, value) {\r\n state.postRows.push(value);\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n};\r\n\r\nconst getters = {\r\n ...make.getters(state),\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n","import Vue from 'vue';\r\nimport { make } from 'vuex-pathify';\r\nimport axios from 'axios';\r\nimport _ from 'lodash';\r\nimport { namePolicyNotFoundErrorMessage } from '../../mixins/errorMessages';\r\nimport helpers from '../../mixins/helpers';\r\n/* eslint no-param-reassign: 0 */\r\n/* eslint prefer-destructuring: 0 */\r\n/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\r\n\r\nconst claimLookupServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/TFBIC.Services.RESTClaims.Lookup`;\r\nconst claimModifyServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/TFBIC.Services.RESTClaims.Add`;\r\n\r\nconst tokenName = process.env.VUE_APP_WEB_ENV !== 'PROD' ? `tfb_${process.env.VUE_APP_WEB_ENV}_token` : 'tfb_token';\r\nconst claimTokenName = process.env.VUE_APP_WEB_ENV !== 'PROD' ? `tfb_${process.env.VUE_APP_WEB_ENV}_claim_token` : 'tfb_claim_token';\r\n\r\nconst config = {\r\n crossdomain: true,\r\n // withCredentials: true,\r\n headers: { 'Access-Control-Allow-Origin': '*', Accept: 'application/json; odata=verbose', 'Content-Type': 'application/json; odata=verbose' },\r\n};\r\n\r\nfunction getDefaultState() {\r\n return {\r\n claim: {\r\n destination: null,\r\n type: null,\r\n effectiveDate: null,\r\n expirationDate: null,\r\n memberNumber: null,\r\n policyNumber: null,\r\n policySymbol: null,\r\n policyType: null,\r\n policySubtype: null,\r\n externalIdValTxt: null,\r\n companyName: null,\r\n corporationName: null,\r\n hasPhotos: null,\r\n agencyName: null,\r\n agentFirstName: null,\r\n agentLastName: null,\r\n coverages: null,\r\n originalEffectiveDate: null,\r\n policyLocation: null,\r\n policyStatus: null,\r\n policyTypeGw: null,\r\n propertyLocations: null,\r\n vehicleCount: null,\r\n },\r\n reporter: {\r\n name: null,\r\n type: null,\r\n phoneNumber: null,\r\n phoneType: null,\r\n emailAddress: null,\r\n reportingSource: 1,\r\n },\r\n loss: {\r\n date: null,\r\n time: null,\r\n type: null,\r\n description: null,\r\n lossLocation: null,\r\n location: null,\r\n locationObject: null,\r\n city: null,\r\n state: 'TX',\r\n county: null,\r\n zip: null,\r\n policeDepartment: null,\r\n policeCaseNumber: null,\r\n },\r\n primaryInsured: {\r\n objectId: null,\r\n emailAddress: null,\r\n name: {\r\n firstName: null,\r\n middleName: null,\r\n lastName: null,\r\n suffix: null,\r\n displayName: null,\r\n },\r\n insuredType: null,\r\n gender: null,\r\n maritalStatus: null,\r\n dateOfBirth: null,\r\n address: {\r\n addressLine1: null,\r\n addressLine2: null,\r\n city: null,\r\n county: null,\r\n state: 'TX',\r\n zip: null,\r\n },\r\n primaryInd: 'false',\r\n phone: null,\r\n phoneType: null,\r\n licenseNumber: null,\r\n licenseState: null,\r\n licenseClass: null,\r\n driverSequenceNumber: null,\r\n primaryPhone: null,\r\n secondaryPhone: null,\r\n areaCode: null,\r\n prefix: null,\r\n unitNumber: null,\r\n },\r\n insureds: [\r\n {},\r\n ],\r\n thirdParties: [],\r\n drivers: [],\r\n vehicles: [],\r\n locations: [],\r\n claimAdjuster: null,\r\n confirmationNumber: '',\r\n claimNumber: '',\r\n selectedFiles: [],\r\n pendingFiles: [],\r\n uploadedFiles: [],\r\n errorFiles: [],\r\n openClaims: [],\r\n closedClaims: [],\r\n };\r\n}\r\n\r\n// state\r\nconst state = getDefaultState();\r\n\r\n// mutations\r\nconst mutations = {\r\n ...make.mutations(state),\r\n SET_UPLOADED_FILES: (state, fileName) => {\r\n const index = state.pendingFiles.indexOf(fileName);\r\n if (index !== -1) {\r\n state.pendingFiles.splice(index, 1);\r\n }\r\n state.uploadedFiles.push(fileName);\r\n },\r\n SET_ERROR_FILES: (state, fileName) => {\r\n const index = state.pendingFiles.indexOf(fileName);\r\n if (index !== -1) {\r\n state.pendingFiles.splice(index, 1);\r\n }\r\n state.errorFiles.push(fileName);\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n};\r\n\r\n// getters\r\nconst getters = {\r\n ...make.getters(state),\r\n};\r\n\r\n// actions\r\nconst actions = {\r\n clearToken() {\r\n Vue.$cookies.remove(claimTokenName);\r\n },\r\n getClaimsByMember(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'claims.js', methodName: 'getClaimsByMember-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const claimToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${claimToken}`;\r\n axios\r\n .get(`${claimLookupServiceUrl}/claims/member/${sRequest.sMemberNumber}/full`,\r\n config)\r\n .then((claimResponse) => {\r\n if (claimResponse && claimResponse.data && claimResponse.data.claims && claimResponse.data.claims !== null) {\r\n const openClaims = [];\r\n const closedClaims = [];\r\n for (let c = 0; c < claimResponse.data.claims.length; c += 1) {\r\n const foundClaim = claimResponse.data.claims[c];\r\n\r\n const policyList = context.rootGetters['policy/accountSummary'];\r\n if (policyList) {\r\n for (let p = 0; p < policyList.length; p += 1) {\r\n const foundPolicy = policyList[p];\r\n\r\n if (foundPolicy.PolicyNumber.trim() === foundClaim.PolicyNumber.trim() && foundPolicy.PolicyType.trim() === foundClaim.PolicyType.trim()) {\r\n foundClaim.PolicyType = foundPolicy.PolicyDescription;\r\n }\r\n }\r\n }\r\n\r\n foundClaim.LossDate = helpers.methods.parseDate(helpers.methods.replaceAll(helpers.methods.replaceAll(foundClaim.LossDate, ' CST', ''), ' CDT', ''));\r\n\r\n if (foundClaim.ClaimStatus === 'OPEN') {\r\n openClaims.push(foundClaim);\r\n } else {\r\n closedClaims.push(foundClaim);\r\n }\r\n }\r\n\r\n let sortedClaims = _.orderBy(closedClaims, ['LossDate'], ['desc']);\r\n context.commit('SET_CLOSED_CLAIMS', sortedClaims);\r\n sortedClaims = _.orderBy(openClaims, ['LossDate'], ['desc']);\r\n context.commit('SET_OPEN_CLAIMS', sortedClaims);\r\n }\r\n\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getClaimDetails(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'claims.js', methodName: 'getClaimDetails-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const claimToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${claimToken}`;\r\n axios\r\n .get(`${claimLookupServiceUrl}/claims/detail/${sRequest.sClaimNumber}/${sRequest.sPolicyNumber}`,\r\n config)\r\n .then((claimResponse) => {\r\n let claimDetailsResponse = {};\r\n const claimAdjusters = [];\r\n const claimCoverages = [];\r\n if (claimResponse && claimResponse.data && claimResponse.data.claimDTO) {\r\n claimDetailsResponse = claimResponse.data.claimDTO;\r\n }\r\n\r\n if (claimResponse && claimResponse.data && claimResponse.data.claimPayments\r\n && claimResponse.data.claimPayments.claimPayment && claimResponse.data.claimPayments.claimPayment.length > 0\r\n && claimResponse.data.claimPayments.claimPayment[0].claimPayables && claimResponse.data.claimPayments.claimPayment[0].claimPayables.claimPayable\r\n && claimResponse.data.claimPayments.claimPayment[0].claimPayables.claimPayable.length > 0) {\r\n for (let c = 0; c < claimResponse.data.claimPayments.claimPayment[0].claimPayables.claimPayable.length; c += 1) {\r\n const foundCoverage = claimResponse.data.claimPayments.claimPayment[0].claimPayables.claimPayable[c];\r\n\r\n if (foundCoverage.clmCoverageCode && foundCoverage.clmCoverageCode !== null) {\r\n let coverageDescription = foundCoverage.clmCoverageCode;\r\n const coverageAmount = foundCoverage.transactionAmount;\r\n if (foundCoverage.literalDescriptionMap && foundCoverage.literalDescriptionMap.entry && foundCoverage.literalDescriptionMap.entry.length > 0) {\r\n const claimCoverageEntries = foundCoverage.literalDescriptionMap.entry;\r\n for (let e = 0; e < claimCoverageEntries.length; e += 1) {\r\n const foundEntry = claimCoverageEntries[e];\r\n\r\n if (foundEntry.string && foundEntry.string.length > 0) {\r\n if (foundEntry.string[0] === 'clmLossTypeCode') {\r\n coverageDescription = foundEntry.string[1];\r\n }\r\n }\r\n }\r\n }\r\n\r\n claimCoverages.push({ CoverageDescription: coverageDescription, CoverageAmount: coverageAmount });\r\n }\r\n }\r\n }\r\n\r\n if (claimResponse && claimResponse.data && claimResponse.data.claimAssignments\r\n && claimResponse.data.claimAssignments.importAssignmentDTO && claimResponse.data.claimAssignments.importAssignmentDTO.length > 0) {\r\n for (let a = 0; a < claimResponse.data.claimAssignments.importAssignmentDTO.length; a += 1) {\r\n const foundAdjuster = claimResponse.data.claimAssignments.importAssignmentDTO[a];\r\n\r\n if (foundAdjuster.userFirstName && foundAdjuster.userFirstName !== null && foundAdjuster.userFirstName.trim() !== '') {\r\n const adjusterAddress = helpers.methods.buildAddress(foundAdjuster.userAddresss, null, null,\r\n foundAdjuster.userCity, foundAdjuster.userState, foundAdjuster.userZipCode, null, null);\r\n\r\n claimAdjusters.push({\r\n firstName: foundAdjuster.userFirstName.trim(),\r\n lastName: foundAdjuster.userLastName.trim(),\r\n address: adjusterAddress,\r\n phoneNumber: foundAdjuster.userPhoneNumber,\r\n extension: foundAdjuster.userPhoneExtension,\r\n emailAddress: foundAdjuster.userEmail,\r\n });\r\n }\r\n }\r\n }\r\n\r\n claimDetailsResponse.Adjusters = claimAdjusters;\r\n claimDetailsResponse.Coverages = claimCoverages;\r\n\r\n resolve(claimDetailsResponse);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n checkClaim(context) {\r\n return new Promise((resolve, reject) => {\r\n if (context.state.claim.destination === 1) {\r\n let claimToken = Vue.$cookies.get(claimTokenName);\r\n\r\n if (!claimToken || claimToken === '') {\r\n claimToken = Vue.$cookies.get(tokenName);\r\n }\r\n config.headers.Authorization = `Bearer ${claimToken}`;\r\n // Check to see if there was already a claim reported within the past day\r\n axios\r\n .get(`${claimLookupServiceUrl}/claims/insured-report/${context.state.claim.policyNumber}`, config)\r\n .then((foundClaimResponse) => {\r\n if (foundClaimResponse && foundClaimResponse.data && foundClaimResponse.data.length > 0) {\r\n resolve(true);\r\n } else {\r\n resolve(false);\r\n }\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n } else {\r\n resolve(false);\r\n }\r\n });\r\n },\r\n validateClaim(context, validation) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(validation), fileName: 'claims.js', methodName: 'validateClaim-Start', trackerId: validation.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const policySearchRequest = {\r\n PolicyNumber: validation.sPolicyNumber, LastName: validation.sLastName, DateOfLoss: validation.sDateOfLoss, GoogleToken: validation.sCaptchaText,\r\n };\r\n axios\r\n .post(`${claimLookupServiceUrl}/policy/search`, policySearchRequest, config)\r\n .then((claimResponse) => {\r\n if (claimResponse && claimResponse.data && claimResponse.data.length > 0) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(claimResponse.data[0]), fileName: 'claims.js', methodName: 'validateClaim-Result', trackerId: validation.sTfbId,\r\n }, { root: true });\r\n Vue.$cookies.set(claimTokenName, claimResponse.data[0].AccessToken, 0);\r\n context.commit('SET_CLAIM', {\r\n effectiveDate: null,\r\n expirationDate: null,\r\n memberNumber: null,\r\n externalIdValTxt: null,\r\n companyName: null,\r\n corporationName: null,\r\n destination: claimResponse.data[0].ClaimDestination,\r\n type: claimResponse.data[0].ClaimType,\r\n policyNumber: claimResponse.data[0].PolicyNumber,\r\n policySymbol: (claimResponse.data[0].PolicySymbol !== '' && claimResponse.data[0].PolicySymbol !== 'Unknown' ? claimResponse.data[0].PolicySymbol : claimResponse.data[0].PolicyType),\r\n policyType: claimResponse.data[0].PolicyType,\r\n policySubtype: claimResponse.data[0].PolicySubType,\r\n hasPhotos: 'N',\r\n });\r\n context.commit('SET_LOSS', {\r\n date: claimResponse.data[0].DateOfLoss,\r\n type: null,\r\n description: null,\r\n location: null,\r\n locationObject: null,\r\n city: null,\r\n state: 'TX',\r\n county: null,\r\n zip: null,\r\n policeDepartment: null,\r\n policeCaseNumber: null,\r\n });\r\n\r\n resolve({\r\n policyNumber: claimResponse.data[0].PolicyNumber,\r\n policySymbol: (claimResponse.data[0].PolicySymbol !== '' && claimResponse.data[0].PolicySymbol !== 'Unknown' ? claimResponse.data[0].PolicySymbol : claimResponse.data[0].PolicyType),\r\n policyType: claimResponse.data[0].PolicyType,\r\n date: claimResponse.data[0].DateOfLoss,\r\n claimDestination: claimResponse.data[0].ClaimDestination,\r\n });\r\n }\r\n\r\n reject(new Error(namePolicyNotFoundErrorMessage));\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'claims.js', methodName: 'validateClaim-Error', trackerId: validation.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getClaimPointSignedXml(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'claims.js', methodName: 'getClaimPointSignedXml-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const claimPointRequest = {\r\n Recipient: sRequest.sRecipient,\r\n PolicyNumber: sRequest.sPolicyNumber,\r\n LastName: sRequest.sLastName,\r\n DateOfLoss: sRequest.sDateOfLoss,\r\n FirstName: sRequest.sFirstName,\r\n InsuredName: sRequest.sInsuredName,\r\n };\r\n let claimToken = Vue.$cookies.get(claimTokenName);\r\n\r\n if (!claimToken || claimToken === '') {\r\n claimToken = Vue.$cookies.get(tokenName);\r\n }\r\n config.headers.Authorization = `Bearer ${claimToken}`;\r\n axios\r\n .post(`${claimLookupServiceUrl}/claimpoint/signed-xml `, claimPointRequest, config)\r\n .then((claimResponse) => {\r\n if (claimResponse && claimResponse.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(claimResponse.data), fileName: 'claims.js', methodName: 'getClaimPointSignedXml-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n resolve(claimResponse.data);\r\n }\r\n\r\n reject(new Error(namePolicyNotFoundErrorMessage));\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'claims.js', methodName: 'getClaimPointSignedXml-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n buildPolicy(context, policy) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(policy), fileName: 'claims.js', methodName: 'buildPolicy-Start', trackerId: policy.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n let claimToken = Vue.$cookies.get(claimTokenName);\r\n\r\n if (!claimToken || claimToken === '') {\r\n claimToken = Vue.$cookies.get(tokenName);\r\n }\r\n config.headers.Authorization = `Bearer ${claimToken}`;\r\n axios\r\n .get(`${claimLookupServiceUrl}/policy/${policy.policyNumber}/${policy.policySymbol}/${policy.date}`, config)\r\n .then((claimResponse) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(claimResponse), fileName: 'claims.js', methodName: 'buildPolicy-Result', trackerId: policy.sTfbId,\r\n }, { root: true });\r\n if (claimResponse && claimResponse.data) {\r\n const foundDrivers = [];\r\n const foundVehicles = [];\r\n context.commit('SET_CLAIM', {\r\n destination: (policy.claimDestination && policy.claimDestination !== null ? policy.claimDestination : claimResponse.data.ClaimDestination),\r\n type: claimResponse.data.ClaimType,\r\n effectiveDate: claimResponse.data.EffectiveDate,\r\n expirationDate: claimResponse.data.ExpirationDate,\r\n memberNumber: claimResponse.data.MemberNumber,\r\n policyNumber: claimResponse.data.PolicyNumber,\r\n policySymbol: (claimResponse.data.PolicySymbol !== '' && claimResponse.data.PolicySymbol !== 'Unknown' ? claimResponse.data.PolicySymbol : claimResponse.data.PolicyType),\r\n policyType: claimResponse.data.PolicyType,\r\n policySubtype: claimResponse.data.PolicySubType,\r\n externalIdValTxt: claimResponse.data.ExternalIdValTxt,\r\n companyName: claimResponse.data.CompanyName,\r\n corporationName: claimResponse.data.CorporationName,\r\n agencyName: claimResponse.data.AgencyName,\r\n agentFirstName: claimResponse.data.AgentFirstName,\r\n agentLastName: claimResponse.data.AgentLastName,\r\n originalEffectiveDate: claimResponse.data.OriginalEffectiveDate,\r\n policyLocation: claimResponse.data.PolicyLocation,\r\n policyStatus: claimResponse.data.PolicyStatus,\r\n policyTypeCrm: claimResponse.data.PolicyTypeCrm,\r\n policyTypeGw: claimResponse.data.PolicyTypeGw,\r\n vehicleCount: claimResponse.data.VehicleCount,\r\n propertyLocations: claimResponse.data.PropertyLocations,\r\n hasPhotos: 'N',\r\n });\r\n if (claimResponse.data.PrimaryInsured) {\r\n context.commit('SET_PRIMARY_INSURED', {\r\n objectId: '',\r\n emailAddress: claimResponse.data.PrimaryInsured.EmailAddress,\r\n name: {\r\n firstName: claimResponse.data.PrimaryInsured.Name ? claimResponse.data.PrimaryInsured.Name.FirstName : '',\r\n middleName: claimResponse.data.PrimaryInsured.Name ? claimResponse.data.PrimaryInsured.Name.MiddleName : '',\r\n lastName: claimResponse.data.PrimaryInsured.Name ? claimResponse.data.PrimaryInsured.Name.LastName : '',\r\n suffix: claimResponse.data.PrimaryInsured.Name ? claimResponse.data.PrimaryInsured.Name.Suffix : '',\r\n displayName: claimResponse.data.PrimaryInsured.Name ? claimResponse.data.PrimaryInsured.Name.DisplayName : '',\r\n },\r\n insuredType: claimResponse.data.PrimaryInsured.InsuredType,\r\n gender: claimResponse.data.PrimaryInsured.Gender,\r\n maritalStatus: claimResponse.data.PrimaryInsured.MaritalStatus,\r\n dateOfBirth: claimResponse.data.PrimaryInsured.DateOfBirth,\r\n address: {\r\n addressLine1: claimResponse.data.PrimaryInsured.Address ? claimResponse.data.PrimaryInsured.Address.AddressLine1 : '',\r\n addressLine2: claimResponse.data.PrimaryInsured.Address ? claimResponse.data.PrimaryInsured.Address.AddressLine2 : '',\r\n city: claimResponse.data.PrimaryInsured.Address ? claimResponse.data.PrimaryInsured.Address.City : '',\r\n county: claimResponse.data.PrimaryInsured.Address ? claimResponse.data.PrimaryInsured.Address.County : '',\r\n state: claimResponse.data.PrimaryInsured.Address ? claimResponse.data.PrimaryInsured.Address.State : '',\r\n zip: claimResponse.data.PrimaryInsured.Address ? claimResponse.data.PrimaryInsured.Address.Zip : '',\r\n },\r\n primaryInd: claimResponse.data.PrimaryInd,\r\n phone: claimResponse.data.PrimaryInsured.Phone,\r\n phoneType: claimResponse.data.PrimaryInsured.PhoneType,\r\n licenseNumber: claimResponse.data.PrimaryInsured.LicenseNumber,\r\n licenseState: claimResponse.data.PrimaryInsured.LicenseState,\r\n licenseClass: claimResponse.data.PrimaryInsured.LicenseClass,\r\n driverSequenceNumber: claimResponse.data.PrimaryInsured.DriverSequenceNumber,\r\n primaryPhone: claimResponse.data.PrimaryInsured.PrimaryPhone,\r\n secondaryPhone: claimResponse.data.PrimaryInsured.SecondaryPhone,\r\n areaCode: claimResponse.data.PrimaryInsured.AreaCode,\r\n prefix: claimResponse.data.PrimaryInsured.Prefix,\r\n unitNumber: claimResponse.data.PrimaryInsured.UnitNumber,\r\n });\r\n }\r\n\r\n if (claimResponse.data.Drivers && claimResponse.data.Drivers.length > 0) {\r\n for (let d = 0; d < claimResponse.data.Drivers.length; d += 1) {\r\n const foundDriver = claimResponse.data.Drivers[d];\r\n foundDrivers.push({\r\n injuryInd: null,\r\n injuryDescription: null,\r\n objectId: '',\r\n emailAddress: foundDriver.EmailAddress,\r\n name: {\r\n firstName: foundDriver.Name ? foundDriver.Name.FirstName : '',\r\n middleName: foundDriver.Name ? foundDriver.Name.MiddleName : '',\r\n lastName: foundDriver.Name ? foundDriver.Name.LastName : '',\r\n suffix: foundDriver.Name ? foundDriver.Name.Suffix : '',\r\n displayName: foundDriver.Name ? foundDriver.Name.DisplayName : '',\r\n },\r\n insuredType: foundDriver.InsuredType,\r\n gender: foundDriver.Gender,\r\n maritalStatus: foundDriver.MaritalStatus,\r\n dateOfBirth: foundDriver.DateOfBirth,\r\n address: {\r\n addressLine1: foundDriver.Address ? foundDriver.Address.AddressLine1 : '',\r\n addressLine2: foundDriver.Address ? foundDriver.Address.AddressLine2 : '',\r\n city: foundDriver.Address ? foundDriver.Address.City : '',\r\n county: foundDriver.Address ? foundDriver.Address.County : '',\r\n state: foundDriver.Address ? foundDriver.Address.State : '',\r\n zip: foundDriver.Address ? foundDriver.Address.Zip : '',\r\n },\r\n primaryInd: foundDriver.PrimaryInd,\r\n phone: foundDriver.Phone,\r\n phoneType: foundDriver.PhoneType,\r\n licenseNumber: foundDriver.LicenseNumber,\r\n licenseState: foundDriver.LicenseState,\r\n licenseClass: foundDriver.LicenseClass,\r\n driverSequenceNumber: foundDriver.DriverSequenceNumber,\r\n primaryPhone: foundDriver.PrimaryPhone,\r\n secondaryPhone: foundDriver.SecondaryPhone,\r\n areaCode: foundDriver.AreaCode,\r\n prefix: foundDriver.Prefix,\r\n unitNumber: foundDriver.UnitNumber,\r\n });\r\n context.commit('SET_DRIVERS', foundDrivers);\r\n }\r\n }\r\n\r\n if (claimResponse.data.Vehicles && claimResponse.data.Vehicles.length > 0) {\r\n for (let v = 0; v < claimResponse.data.Vehicles.length; v += 1) {\r\n const foundVehicle = claimResponse.data.Vehicles[v];\r\n foundVehicles.push({\r\n objectId: '',\r\n licensePlate: foundVehicle.LicensePlate,\r\n licensePlateState: foundVehicle.LicensePlateState,\r\n id: foundVehicle.Id,\r\n seqNum: foundVehicle.SeqNum && foundVehicle.SeqNum !== null ? foundVehicle.SeqNum : v.toString(),\r\n address: {\r\n addressLine1: foundVehicle.Address ? foundVehicle.Address.AddressLine1 : '',\r\n addressLine2: foundVehicle.Address ? foundVehicle.Address.AddressLine2 : '',\r\n city: foundVehicle.Address ? foundVehicle.Address.City : '',\r\n state: foundVehicle.Address ? foundVehicle.Address.State : '',\r\n zip: foundVehicle.Address ? foundVehicle.Address.Zip : '',\r\n },\r\n year: foundVehicle.Year,\r\n make: foundVehicle.Make,\r\n model: foundVehicle.Model,\r\n vin: foundVehicle.Vin,\r\n bodyStyle: foundVehicle.BodyStyle,\r\n displayName: `${foundVehicle.Year} ${foundVehicle.Make} ${foundVehicle.Model}`,\r\n isDriveable: null,\r\n wereAirbagsDeployed: null,\r\n currentLocation: null,\r\n externalIdValTxt: foundVehicle.ExternalIdValTxt,\r\n effectiveDate: foundVehicle.EffectiveDate,\r\n expirationDate: foundVehicle.ExpirationDate,\r\n coverageLimitCode: foundVehicle.CoverageLimitCode,\r\n deductible: foundVehicle.Deductible,\r\n eventLimitReached: foundVehicle.EventLimitReached,\r\n garagingCounty: foundVehicle.GaragingCounty,\r\n rentalDailyLimit: foundVehicle.RentalDailyLimit,\r\n rentalMaxLimit: foundVehicle.RentalMaxLimit,\r\n towLimit: foundVehicle.TowLimit,\r\n collision: foundVehicle.Collision,\r\n comprehensive: foundVehicle.Comprehensive,\r\n deductibleConfirmed: foundVehicle.DeductibleConfirmed,\r\n glassDeductibleWaiver: foundVehicle.GlassDeductibleWaiver,\r\n hasRoadSideCoverage: foundVehicle.HasRoadSideCoverage,\r\n rental: foundVehicle.Rental,\r\n damageLocations: [],\r\n ownerInformation: {\r\n firstName: '',\r\n lastName: '',\r\n objectId: '',\r\n },\r\n });\r\n context.commit('SET_VEHICLES', foundVehicles);\r\n }\r\n }\r\n\r\n if (claimResponse.data.PropertyLocations && claimResponse.data.PropertyLocations.length > 0) {\r\n context.commit('SET_LOCATIONS', claimResponse.data.PropertyLocations);\r\n }\r\n\r\n resolve(true);\r\n } else {\r\n reject(new Error(namePolicyNotFoundErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'claims.js', methodName: 'buildPolicy-Error', trackerId: policy.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n submitClaim(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'claims.js', methodName: 'submitClaim-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n context.commit('SET_CLAIM', sRequest.claim);\r\n context.commit('SET_LOSS', sRequest.loss);\r\n context.commit('SET_REPORTER', sRequest.reporter);\r\n context.commit('SET_INSUREDS', sRequest.insureds);\r\n context.commit('SET_THIRD_PARTIES', sRequest.thirdParties);\r\n if (sRequest.files && sRequest.files.length > 0) {\r\n context.commit('SET_SELECTED_FILES', sRequest.files);\r\n const pendingFiles = [];\r\n for (let f = 0; f < sRequest.files.length; f += 1) {\r\n pendingFiles.push(sRequest.files[f].name);\r\n }\r\n context.commit('SET_PENDING_FILES', pendingFiles);\r\n }\r\n\r\n let fnolServiceUrl = `${claimModifyServiceUrl}/fnol/`;\r\n if (sRequest.claim.type === 0) {\r\n fnolServiceUrl += 'auto';\r\n } else {\r\n fnolServiceUrl += 'property';\r\n }\r\n\r\n if (sRequest.preferredPhone && sRequest.preferredPhone !== '') {\r\n context.state.primaryInsured.phone = helpers.methods.removePhoneFormatting(sRequest.preferredPhone);\r\n }\r\n\r\n if (sRequest.preferredPhoneType && sRequest.preferredPhoneType !== '') {\r\n context.state.primaryInsured.phoneType = sRequest.preferredPhoneType;\r\n }\r\n\r\n let reporterName = sRequest.reporter.name;\r\n if (sRequest.reporter.onBehalfOf && sRequest.reporter.onBehalfOf !== '') {\r\n reporterName = `${sRequest.reporter.name} for ${sRequest.reporter.onBehalfOf}`;\r\n }\r\n\r\n if (sRequest.loss.locationObject && sRequest.loss.locationObject !== undefined && sRequest.loss.locationObject !== null\r\n && sRequest.loss.locationObject.address && sRequest.loss.locationObject.address !== undefined && sRequest.loss.locationObject.address !== null) {\r\n sRequest.loss.location = sRequest.loss.locationObject.address.addressLine1;\r\n sRequest.loss.city = sRequest.loss.locationObject.address.city;\r\n sRequest.loss.state = sRequest.loss.locationObject.address.state;\r\n }\r\n\r\n let claimToken = Vue.$cookies.get(claimTokenName);\r\n\r\n if (!claimToken || claimToken === '') {\r\n claimToken = Vue.$cookies.get(tokenName);\r\n }\r\n config.headers.Authorization = `Bearer ${claimToken}`;\r\n const fnolRequest = {\r\n ClaimDestination: sRequest.claim.destination,\r\n ClaimType: sRequest.claim.type,\r\n EffectiveDate: sRequest.claim.effectiveDate,\r\n ExpirationDate: sRequest.claim.expirationDate,\r\n MemberNumber: sRequest.claim.memberNumber,\r\n PolicyNumber: sRequest.claim.policyNumber,\r\n PolicySymbol: sRequest.claim.policySymbol,\r\n PolicyType: sRequest.claim.policyType,\r\n PolicySubType: sRequest.claim.policySubtype,\r\n ExternalIdValTxt: sRequest.claim.externalIdValTxt,\r\n CompanyName: sRequest.claim.companyName,\r\n CorporationName: sRequest.claim.corporationName,\r\n AgencyName: sRequest.claim.agencyName,\r\n AgentFirstName: sRequest.claim.agentFirstName,\r\n AgentLastName: sRequest.claim.agentLastName,\r\n OriginalEffectiveDate: sRequest.claim.originalEffectiveDate,\r\n PolicyStatus: sRequest.claim.policyStatus,\r\n PolicyTypeCrm: sRequest.claim.policyTypeCrm,\r\n PolicyTypeGw: sRequest.claim.policyTypeGw,\r\n HasPhotos: sRequest.claim.hasPhotos || 'N',\r\n PrimaryInsured: context.state.primaryInsured,\r\n PropertyLocations: context.state.propertyLocations,\r\n ReporterInformation: {\r\n Name: reporterName,\r\n Type: sRequest.reporter.type,\r\n PhoneNumber: helpers.methods.removePhoneFormatting(sRequest.reporter.phoneNumber),\r\n PhoneType: sRequest.reporter.phoneType || '',\r\n EmailAddress: sRequest.reporter.emailAddress,\r\n ReportingSource: sRequest.reporter.reportingSource,\r\n },\r\n LossInformation: {\r\n DateOfLoss: sRequest.loss.date,\r\n TimeOfLoss: sRequest.loss.time,\r\n TypeOfLoss: sRequest.loss.type,\r\n LossDescription: sRequest.loss.description ? sRequest.loss.description : '',\r\n Location: sRequest.loss.location,\r\n LossLocation: sRequest.loss.lossLocation,\r\n City: sRequest.loss.city,\r\n State: sRequest.loss.state || ' ',\r\n County: sRequest.loss.county || ' ',\r\n PoliceDepartment: sRequest.loss.policeDepartment || ' ',\r\n PoliceCaseNumber: sRequest.loss.policeCaseNumber || ' ',\r\n },\r\n };\r\n\r\n if (sRequest.claim.type === 0) {\r\n const insuredObjects = [];\r\n const thirdPartyObjects = [];\r\n for (let i = 0; i < sRequest.insureds.length; i += 1) {\r\n const insured = sRequest.insureds[i];\r\n const insuredObject = {\r\n Driver: {\r\n Address: {\r\n AddressLine1: insured.driver.address && insured.driver.address.addressLine1 ? insured.driver.address.addressLine1 : '',\r\n AddressLine2: insured.driver.address && insured.driver.address.addressLine2 ? insured.driver.address.addressLine2 : '',\r\n City: insured.driver.address && insured.driver.address.city ? insured.driver.address.city : '',\r\n County: insured.driver.address && insured.driver.address.county ? insured.driver.address.county : '',\r\n State: insured.driver.address && insured.driver.address.state ? insured.driver.address.state : '',\r\n Zip: insured.driver.address && insured.driver.address.zip ? insured.driver.address.zip : '',\r\n },\r\n DateOfBirth: insured.driver.dateOfBirth,\r\n EmailAddress: insured.driver.emailAddress,\r\n Gender: insured.driver.gender,\r\n InjuryDescription: insured.driver.injuryDescription || '',\r\n InjuryInd: insured.driver.injuryInd || 'N',\r\n InsuredType: insured.driver.insuredType,\r\n LicenseClass: '',\r\n LicenseNumber: insured.driver.licenseNumber,\r\n LicenseState: insured.driver.licenseState || '',\r\n MaritalStatus: insured.driver.maritalStatus,\r\n Name: {\r\n // eslint-disable-next-line no-nested-ternary\r\n DisplayName: insured.driver.name\r\n ? (insured.driver.name.displayName === 'Other' ? `${insured.driver.name.firstName} ${insured.driver.name.lastName}` : insured.driver.name.displayName)\r\n : '',\r\n FirstName: insured.driver.name ? insured.driver.name.firstName : '',\r\n MiddleName: insured.driver.name ? insured.driver.name.middleName : '',\r\n LastName: insured.driver.name ? insured.driver.name.lastName : '',\r\n Suffix: insured.driver.name ? insured.driver.name.suffix : '',\r\n },\r\n ObjectId: insured.driver.objectId,\r\n Phone: helpers.methods.removePhoneFormatting(insured.driver.phone),\r\n PhoneType: insured.driver.phoneType || '',\r\n PrimaryInd: insured.driver.primaryInd,\r\n DriverSequenceNumber: insured.driver.driverSequenceNumber,\r\n PrimaryPhone: insured.driver.primaryPhone,\r\n SecondaryPhone: insured.driver.secondaryPhone,\r\n AreaCode: insured.driver.areaCode,\r\n Prefix: insured.driver.prefix,\r\n UnitNumber: insured.driver.unitNumber,\r\n },\r\n Vehicle: {\r\n Address: {\r\n AddressLine1: insured.vehicle.address ? insured.vehicle.address.addressLine1 : '',\r\n AddressLine2: insured.vehicle.address ? insured.vehicle.address.addressLine2 : '',\r\n City: insured.vehicle.address ? insured.vehicle.address.city : '',\r\n State: insured.vehicle.address ? insured.vehicle.address.state : '',\r\n Zip: insured.vehicle.address ? insured.vehicle.address.zip : '',\r\n },\r\n BodyStyle: insured.vehicle.bodyStyle,\r\n CurrentLocation: insured.vehicle.currentLocation ? insured.vehicle.currentLocation : '',\r\n DamageLocations: [],\r\n EffectiveDate: insured.vehicle.effectiveDate,\r\n ExpirationDate: insured.vehicle.expirationDate,\r\n ExternalIdValTxt: insured.vehicle.externalIdValTxt,\r\n Id: insured.vehicle.id,\r\n IsDriveable: insured.vehicle.isDriveable,\r\n WereAirbagsDeployed: insured.vehicle.wereAirbagsDeployed,\r\n LicensePlate: insured.vehicle.licensePlate || '',\r\n LicensePlateState: insured.vehicle.licensePlateState,\r\n Make: insured.vehicle.make,\r\n Model: insured.vehicle.model,\r\n ObjectId: insured.vehicle.objectId,\r\n SeqNum: insured.vehicle.seqNum,\r\n Vin: insured.vehicle.vin,\r\n Year: insured.vehicle.year,\r\n CoverageLimitCode: insured.vehicle.coverageLimitCode,\r\n Deductible: insured.vehicle.deductible,\r\n EventLimitReached: insured.vehicle.eventLimitReached,\r\n GaragingCounty: insured.vehicle.garagingCounty,\r\n RentalDailyLimit: insured.vehicle.rentalDailyLimit,\r\n RentalMaxLimit: insured.vehicle.rentalMaxLimit,\r\n TowLimit: insured.vehicle.towLimit,\r\n Collision: insured.vehicle.collision,\r\n Comprehensive: insured.vehicle.comprehensive,\r\n DeductibleConfirmed: insured.vehicle.deductibleConfirmed,\r\n GlassDeductibleWaiver: insured.vehicle.glassDeductibleWaiver,\r\n HasRoadSideCoverage: insured.vehicle.hasRoadSideCoverage,\r\n Rental: insured.vehicle.rental,\r\n },\r\n };\r\n insuredObjects.push(insuredObject);\r\n }\r\n for (let t = 0; t < sRequest.thirdParties.length; t += 1) {\r\n const thirdParty = sRequest.thirdParties[t];\r\n const thirdPartyObject = {\r\n Driver: {\r\n Address: {\r\n AddressLine1: thirdParty.driver.address ? thirdParty.driver.address.addressLine1 : '',\r\n AddressLine2: '',\r\n City: thirdParty.driver.address ? thirdParty.driver.address.city : '',\r\n County: '',\r\n State: thirdParty.driver.address ? thirdParty.driver.address.state : '',\r\n Zip: thirdParty.driver.address ? thirdParty.driver.address.zip : '',\r\n },\r\n DateOfBirth: '',\r\n EmailAddress: thirdParty.driver.emailAddress,\r\n Gender: '',\r\n InjuryDescription: thirdParty.driver.injuryDescription || '',\r\n InjuryInd: thirdParty.driver.injuryInd || 'N',\r\n InsuredType: 'Person',\r\n LicenseClass: thirdParty.driver.licenseClass,\r\n LicenseNumber: thirdParty.driver.licenseNumber,\r\n LicenseState: thirdParty.driver.licenseState,\r\n MaritalStatus: '',\r\n Name: {\r\n DisplayName: thirdParty.driver.name ? `${thirdParty.driver.name.firstName} ${thirdParty.driver.name.lastName}` : '',\r\n FirstName: thirdParty.driver.name ? thirdParty.driver.name.firstName : '',\r\n MiddleName: '',\r\n LastName: thirdParty.driver.name ? thirdParty.driver.name.lastName : '',\r\n Suffix: '',\r\n },\r\n ObjectId: thirdParty.driver.objectId,\r\n Phone: helpers.methods.removePhoneFormatting(thirdParty.driver.phoneNumber),\r\n PhoneType: thirdParty.driver.phoneType || '',\r\n PrimaryInd: 'false',\r\n DriverSequenceNumber: thirdParty.driver.driverSequenceNumber,\r\n PrimaryPhone: thirdParty.driver.primaryPhone,\r\n SecondaryPhone: thirdParty.driver.secondaryPhone,\r\n AreaCode: thirdParty.driver.areaCode,\r\n Prefix: thirdParty.driver.prefix,\r\n UnitNumber: thirdParty.driver.unitNumber,\r\n },\r\n Vehicle: {\r\n Address: {\r\n AddressLine1: thirdParty.vehicle.address ? thirdParty.vehicle.address.addressLine1 : '',\r\n AddressLine2: thirdParty.vehicle.address ? thirdParty.vehicle.address.addressLine2 : '',\r\n City: thirdParty.vehicle.address ? thirdParty.vehicle.address.city : '',\r\n County: '',\r\n State: thirdParty.vehicle.address ? thirdParty.vehicle.address.state : '',\r\n Zip: thirdParty.vehicle.address ? thirdParty.vehicle.address.zip : '',\r\n },\r\n BodyStyle: thirdParty.vehicle.bodyStyle,\r\n CurrentLocation: thirdParty.vehicle.currentLocation || '',\r\n DamageLocations: [],\r\n ExternalIdValTxt: '',\r\n Id: '',\r\n IsDriveable: thirdParty.vehicle.isDriveable,\r\n LicensePlate: thirdParty.vehicle.licensePlate || '',\r\n LicensePlateState: thirdParty.vehicle.licensePlateState,\r\n Make: thirdParty.vehicle.make,\r\n Model: thirdParty.vehicle.model,\r\n ObjectId: thirdParty.vehicle.objectId,\r\n OwnerInformation: {\r\n FirstName: thirdParty.vehicle.ownerInformation ? thirdParty.vehicle.ownerInformation.firstName : '',\r\n MiddleName: '',\r\n LastName: thirdParty.vehicle.ownerInformation ? thirdParty.vehicle.ownerInformation.lastName : '',\r\n ObjectId: thirdParty.vehicle.ownerInformation ? thirdParty.vehicle.ownerInformation.objectId : '',\r\n DisplayName: thirdParty.vehicle.ownerInformation ? `${thirdParty.vehicle.ownerInformation.firstName} ${thirdParty.vehicle.ownerInformation.lastName}` : '',\r\n },\r\n SeqNum: thirdParty.vehicle.seqNum,\r\n Vin: '',\r\n Year: thirdParty.vehicle.year,\r\n },\r\n };\r\n thirdPartyObjects.push(thirdPartyObject);\r\n }\r\n\r\n fnolRequest.InsuredInformation = insuredObjects;\r\n fnolRequest.ThirdPartyInformation = thirdPartyObjects;\r\n }\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(fnolRequest), fileName: 'claims.js', methodName: 'submitClaim-SendingRequest', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n\r\n axios\r\n .post(fnolServiceUrl, fnolRequest, config)\r\n .then(\r\n (claimSubmissionResponse) => {\r\n if (claimSubmissionResponse && claimSubmissionResponse.data && claimSubmissionResponse.data.SubmissionStatus === 'SUCCESS') {\r\n if (claimSubmissionResponse.data.claimNumber !== undefined && claimSubmissionResponse.data.claimNumber !== null && claimSubmissionResponse.data.claimNumber !== '') {\r\n context.commit('SET_CLAIM_NUMBER', claimSubmissionResponse.data.claimNumber);\r\n } else if (claimSubmissionResponse.data.ReferenceNumber !== undefined && claimSubmissionResponse.data.ReferenceNumber !== null && claimSubmissionResponse.data.ReferenceNumber !== '') {\r\n context.commit('SET_CONFIRMATION_NUMBER', claimSubmissionResponse.data.ReferenceNumber);\r\n } else if (sRequest.claim.destination === 0 || sRequest.claim.destination === 2) {\r\n context.commit('SET_CLAIM_NUMBER', claimSubmissionResponse.data.claimNumber);\r\n } else {\r\n context.commit('SET_CONFIRMATION_NUMBER', claimSubmissionResponse.data.ReferenceNumber);\r\n }\r\n context.commit('SET_CLAIM_ADJUSTER', claimSubmissionResponse.data.Adjuster);\r\n }\r\n resolve(claimSubmissionResponse);\r\n },\r\n )\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'claims.js', methodName: 'submitClaim-Catch', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n async uploadFiles(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: `${sRequest.claimId}, ${sRequest.file.name}`, fileName: 'claims.js', methodName: 'uploadFiles-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n try {\r\n let fnolServiceUrl = `${claimModifyServiceUrl}/`;\r\n if (sRequest.destination === 1) {\r\n fnolServiceUrl += `photos/add/${sRequest.claimId}`;\r\n } else {\r\n fnolServiceUrl += `fnol/photos/add/${sRequest.claimId}`;\r\n }\r\n let claimToken = Vue.$cookies.get(claimTokenName);\r\n\r\n if (!claimToken || claimToken === '') {\r\n claimToken = Vue.$cookies.get(tokenName);\r\n }\r\n config.headers.Authorization = `Bearer ${claimToken}`;\r\n config.headers['Content-Type'] = 'multipart/form-data';\r\n\r\n const uploadFileRequest = new FormData();\r\n uploadFileRequest.append('file', sRequest.file);\r\n\r\n axios.post(fnolServiceUrl, uploadFileRequest, config)\r\n .then(\r\n () => {\r\n context.commit('SET_UPLOADED_FILES', {\r\n name: sRequest.file.name,\r\n });\r\n },\r\n )\r\n .catch((error) => {\r\n context.commit('SET_ERROR_FILES', {\r\n name: sRequest.file.name,\r\n });\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'claims.js', methodName: 'uploadFiles.Service-Catch', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n });\r\n } catch (error) {\r\n context.commit('SET_ERROR_FILES', {\r\n name: sRequest.file.name,\r\n });\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'claims.js', methodName: 'uploadFiles-Catch', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n }\r\n },\r\n getLossTypes(context) {\r\n return new Promise((resolve) => {\r\n let claimToken = Vue.$cookies.get(claimTokenName);\r\n\r\n if (!claimToken || claimToken === '') {\r\n claimToken = Vue.$cookies.get(tokenName);\r\n }\r\n config.headers.Authorization = `Bearer ${claimToken}`;\r\n axios\r\n .get(`${claimLookupServiceUrl}/lookup/loss-types/${context.state.claim.type}`, config)\r\n .then(\r\n (foundLossTypes) => {\r\n if (foundLossTypes && foundLossTypes.data && foundLossTypes.data.length > 0) {\r\n resolve(foundLossTypes.data);\r\n } else {\r\n resolve(null);\r\n }\r\n },\r\n );\r\n });\r\n },\r\n getPhoneTypes() {\r\n return new Promise((resolve) => {\r\n let claimToken = Vue.$cookies.get(claimTokenName);\r\n\r\n if (!claimToken || claimToken === '') {\r\n claimToken = Vue.$cookies.get(tokenName);\r\n }\r\n config.headers.Authorization = `Bearer ${claimToken}`;\r\n axios\r\n .get(`${claimLookupServiceUrl}/lookup/phone-types`, config)\r\n .then(\r\n (foundLossTypes) => {\r\n if (foundLossTypes && foundLossTypes.data && foundLossTypes.data.length > 0) {\r\n resolve(foundLossTypes.data);\r\n } else {\r\n resolve(null);\r\n }\r\n },\r\n );\r\n });\r\n },\r\n getReporterTypes() {\r\n return new Promise((resolve) => {\r\n let claimToken = Vue.$cookies.get(claimTokenName);\r\n\r\n if (!claimToken || claimToken === '') {\r\n claimToken = Vue.$cookies.get(tokenName);\r\n }\r\n config.headers.Authorization = `Bearer ${claimToken}`;\r\n axios\r\n .get(`${claimLookupServiceUrl}/lookup/reporter-types`, config)\r\n .then(\r\n (foundLossTypes) => {\r\n if (foundLossTypes && foundLossTypes.data && foundLossTypes.data.length > 0) {\r\n resolve(foundLossTypes.data);\r\n } else {\r\n resolve(null);\r\n }\r\n },\r\n );\r\n });\r\n },\r\n getCountyList() {\r\n return new Promise((resolve) => {\r\n let claimToken = Vue.$cookies.get(claimTokenName);\r\n\r\n if (!claimToken || claimToken === '') {\r\n claimToken = Vue.$cookies.get(tokenName);\r\n }\r\n config.headers.Authorization = `Bearer ${claimToken}`;\r\n axios\r\n .get(`${claimLookupServiceUrl}/lookup/counties`, config)\r\n .then(\r\n (foundLossTypes) => {\r\n if (foundLossTypes && foundLossTypes.data && foundLossTypes.data.length > 0) {\r\n resolve(foundLossTypes.data);\r\n } else {\r\n resolve(null);\r\n }\r\n },\r\n );\r\n });\r\n },\r\n getVehicleYears() {\r\n return new Promise((resolve) => {\r\n let claimToken = Vue.$cookies.get(claimTokenName);\r\n\r\n if (!claimToken || claimToken === '') {\r\n claimToken = Vue.$cookies.get(tokenName);\r\n }\r\n config.headers.Authorization = `Bearer ${claimToken}`;\r\n axios\r\n .get(`${claimLookupServiceUrl}/lookup/vehicle-years`, config)\r\n .then(\r\n (foundLossTypes) => {\r\n if (foundLossTypes && foundLossTypes.data && foundLossTypes.data.length > 0) {\r\n resolve(foundLossTypes.data);\r\n } else {\r\n resolve(null);\r\n }\r\n },\r\n );\r\n });\r\n },\r\n getVehicleMakesByYear(context, sRequest) {\r\n return new Promise((resolve) => {\r\n let claimToken = Vue.$cookies.get(claimTokenName);\r\n\r\n if (!claimToken || claimToken === '') {\r\n claimToken = Vue.$cookies.get(tokenName);\r\n }\r\n config.headers.Authorization = `Bearer ${claimToken}`;\r\n axios\r\n .get(`${claimLookupServiceUrl}/lookup/vehicle-makes/${sRequest.sYear}`, config)\r\n .then(\r\n (foundLossTypes) => {\r\n if (foundLossTypes && foundLossTypes.data && foundLossTypes.data.length > 0) {\r\n resolve(foundLossTypes.data);\r\n } else {\r\n resolve(null);\r\n }\r\n },\r\n );\r\n });\r\n },\r\n getVehicleModelsByYearMake(context, sRequest) {\r\n return new Promise((resolve) => {\r\n let claimToken = Vue.$cookies.get(claimTokenName);\r\n\r\n if (!claimToken || claimToken === '') {\r\n claimToken = Vue.$cookies.get(tokenName);\r\n }\r\n config.headers.Authorization = `Bearer ${claimToken}`;\r\n const modelSearchRequest = `{ \"Make\":\"${sRequest.sMake}\", \"Year\":\"${sRequest.sYear}\" }`;\r\n axios\r\n .post(`${claimLookupServiceUrl}/lookup/vehicle-models`, modelSearchRequest, config)\r\n .then(\r\n (foundLossTypes) => {\r\n if (foundLossTypes && foundLossTypes.data && foundLossTypes.data.length > 0) {\r\n resolve(foundLossTypes.data);\r\n } else {\r\n resolve(null);\r\n }\r\n },\r\n );\r\n });\r\n },\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations,\r\n};\r\n","/* eslint dot-notation: 0 */\r\n/* eslint no-undef: 0 */\r\n/* eslint func-names: 0 */\r\n/* eslint wrap-iife: 0 */\r\n\r\nimport Vue from 'vue';\r\nimport { make } from 'vuex-pathify';\r\nimport axios from 'axios';\r\nimport helpers from '../../mixins/helpers';\r\nimport { genericErrorMessage } from '../../mixins/errorMessages';\r\n\r\nconst documentServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/TFBIC.Services.RESTTCI.Search`;\r\n\r\nconst tokenName = process.env.VUE_APP_WEB_ENV !== 'PROD' ? `tfb_${process.env.VUE_APP_WEB_ENV}_token` : 'tfb_token';\r\n\r\nconst config = {\r\n crossdomain: true,\r\n withCredentials: true,\r\n headers: { 'Access-Control-Allow-Origin': '*', Accept: 'application/json; odata=verbose', 'Content-Type': 'application/json; odata=verbose' },\r\n};\r\n\r\n function isSafari() {\r\n return /constructor/i.test(window.HTMLElement)\r\n || (function (p) { return p.toString() === '[object SafariRemoteNotification]'; })(!window['safari']\r\n || (typeof safari !== 'undefined' && window['safari'].pushNotification));\r\n }\r\n\r\n// Groups/sorts policy documents\r\nfunction groupPolicyDocuments(policyDocuments) {\r\n let groupDate = '';\r\n let groupVersion = '';\r\n let documentGroup = {};\r\n let dateGroupDocuments = [];\r\n let versionGroupDocuments = [];\r\n const policyDocumentReturn = [];\r\n let duplicateNameIndicator = false;\r\n let singlePrintDocumentIndicator = false;\r\n\r\n for (let d = 0; d < policyDocuments.length; d += 1) {\r\n const document = policyDocuments[d];\r\n if (document) {\r\n if (groupDate === '') {\r\n groupDate = document.Date;\r\n }\r\n if (groupVersion === '') {\r\n groupVersion = document.VersionId;\r\n }\r\n\r\n // Does a document with this name already exist in this version group?\r\n for (let v = 0; v < versionGroupDocuments.length; v += 1) {\r\n const versionDoc = versionGroupDocuments[v];\r\n if (versionDoc.FormDescription === document.FormDescription) {\r\n // Since only one of a type of document should be in each version group, we\r\n // flag documents with the same name as a document in the current group\r\n // to indicate that a new version group should be started\r\n duplicateNameIndicator = true;\r\n }\r\n }\r\n\r\n // Does this document start a new version group?\r\n if (document.VersionId !== groupVersion || duplicateNameIndicator) {\r\n // Does the existing group have only one item?\r\n if (versionGroupDocuments.length === 1) {\r\n // Is this just the Complaint document?\r\n if (helpers.methods.containsString(versionGroupDocuments[0].FormDescription, 'complaint')) {\r\n singlePrintDocumentIndicator = true;\r\n }\r\n }\r\n // Does the existing group have only two items?\r\n if (versionGroupDocuments.length === 2) {\r\n // Is this just the two Complaint documents?\r\n if (helpers.methods.containsString(versionGroupDocuments[0].FormDescription, 'complaint')\r\n && helpers.methods.containsString(versionGroupDocuments[1].FormDescription, 'complaint')) {\r\n singlePrintDocumentIndicator = true;\r\n }\r\n }\r\n\r\n if (!singlePrintDocumentIndicator) {\r\n // Sort the documents to move \"Notice of Material Change\" to top of the list\r\n // eslint-disable-next-line no-loop-func, prefer-arrow-callback\r\n versionGroupDocuments.forEach(function (item, i) {\r\n if (item.FormDescription.toUpperCase().trim() === 'NOTICE OF MATERIAL CHANGE') {\r\n versionGroupDocuments.splice(i, 1);\r\n versionGroupDocuments.unshift(item);\r\n }\r\n });\r\n // Add the existing version group to the document group\r\n dateGroupDocuments.push(versionGroupDocuments);\r\n }\r\n\r\n // Set the version of the new version group\r\n groupVersion = document.VersionId;\r\n // Clear out the grouped documents\r\n versionGroupDocuments = [];\r\n // Reset the duplicate name indicator\r\n duplicateNameIndicator = false;\r\n // Reset the single print document indicator\r\n singlePrintDocumentIndicator = false;\r\n }\r\n\r\n // Does this document start a new date group?\r\n if (document.Date !== groupDate) {\r\n // Does the existing group have only one item?\r\n if (dateGroupDocuments.length === 1) {\r\n // Is this just the Complaint document?\r\n if (helpers.methods.containsString(dateGroupDocuments[0].FormDescription, 'complaint')) {\r\n singlePrintDocumentIndicator = true;\r\n }\r\n }\r\n // Does the existing group have only two items?\r\n if (versionGroupDocuments.length === 2) {\r\n // Is this just the two Complaint documents?\r\n if (helpers.methods.containsString(versionGroupDocuments[0].FormDescription, 'complaint')\r\n && helpers.methods.containsString(versionGroupDocuments[1].FormDescription, 'complaint')) {\r\n singlePrintDocumentIndicator = true;\r\n }\r\n }\r\n\r\n if (!singlePrintDocumentIndicator && dateGroupDocuments.length > 0) {\r\n // Add the existing grouped documents to a document group with the date\r\n documentGroup = { Date: groupDate, Documents: dateGroupDocuments };\r\n // Add the document group to the return\r\n policyDocumentReturn.push(documentGroup);\r\n }\r\n\r\n // Set the date of the new date group\r\n groupDate = document.Date;\r\n // Clear out the grouped documents\r\n dateGroupDocuments = [];\r\n // Reset the single print document indicator\r\n singlePrintDocumentIndicator = false;\r\n }\r\n\r\n // Add the document to the document group\r\n versionGroupDocuments.push(document);\r\n }\r\n }\r\n\r\n // Add the last version group to the document group\r\n dateGroupDocuments.push(versionGroupDocuments);\r\n\r\n // Add the last grouped documents to a document group with the date\r\n documentGroup = { Date: groupDate, Documents: dateGroupDocuments };\r\n\r\n // Add the last/remaining document group to the return\r\n policyDocumentReturn.push(documentGroup);\r\n\r\n return policyDocumentReturn;\r\n}\r\n\r\n// state\r\nconst state = {\r\n};\r\n\r\n// getters\r\nconst getters = {\r\n ...make.getters(state),\r\n};\r\n\r\n// mutations\r\nconst mutations = {\r\n ...make.mutations(state),\r\n};\r\n\r\n// actions\r\nconst actions = {\r\n getAutoIdCard(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${documentServiceUrl}/tci/getautoidcard/${sRequest.sPolicyNumber}/${sRequest.sPolicyType}/${sRequest.sExpirationDate}?access_token=${ssoToken}`, config)\r\n .then((documentResults) => {\r\n // Was something returned? Was data returned? Were pages returned? Were more than zero pages returned?\r\n if (documentResults && documentResults.data && documentResults.data.pages && documentResults.data.pages !== null && documentResults.data.pages.length > 0) {\r\n // Build and display the PDF from the returned binary string\r\n // showPDF(documentResults.data.pages[0].content, `${sRequest.sExpirationDate}-${sRequest.sPolicyNumber}-AutoIdCard.pdf`, context, sRequest.sTfbId);\r\n\r\n // Resolve the promise, returning the document data\r\n resolve(documentResults.data.pages[0].content);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'documents.js', methodName: 'getAutoIdCard', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (error && ((error.status && error.status === 404) || (error.toString().indexOf('status code 404') >= 0 || error.toString().indexOf('status code 401') >= 0))) {\r\n // No document found\r\n reject(new Error(`No ID card is currently available for ${sRequest.sPolicyNumber}. Please try again later.`));\r\n } else {\r\n // Some other reason\r\n reject(error);\r\n }\r\n });\r\n });\r\n },\r\n getRoadsideAssistanceCard(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${documentServiceUrl}/tci/RoadsideAssistanceCard/${sRequest.sPolicyNumber}/${sRequest.sPolicyType}/${sRequest.sExpirationDate}?access_token=${ssoToken}`, config)\r\n .then((documentResults) => {\r\n // Was something returned? Was data returned? Were pages returned? Were more than zero pages returned?\r\n if (documentResults && documentResults.data && documentResults.data.pages && documentResults.data.pages !== null && documentResults.data.pages.length > 0) {\r\n // Build and display the PDF from the returned binary string\r\n // showPDF(documentResults.data.pages[0].content, `${sRequest.sExpirationDate}-${sRequest.sPolicyNumber}-RoadsideAssistanceCard.pdf`, context, sRequest.sTfbId);\r\n\r\n // Resolve the promise, returning the document data\r\n resolve(documentResults.data.pages[0].content);\r\n } else {\r\n reject(new Error(`No Roadside Assistance card is currently available for ${sRequest.sPolicyNumber}. Please try again later.`));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'documents.js', methodName: 'getRoadsideAssistanceCard', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (error && ((error.status && error.status === 404) || (error.toString().indexOf('status code 404') >= 0 || error.toString().indexOf('status code 401') >= 0))) {\r\n // No document found\r\n reject(new Error(`No Roadside Assistance card is currently available for ${sRequest.sPolicyNumber}. Please try again later.`));\r\n } else {\r\n // Some other reason\r\n reject(error);\r\n }\r\n });\r\n });\r\n },\r\n getBillingDocumentList(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${documentServiceUrl}/document/list/${sRequest.sPolicyNumber}?access_token=${ssoToken}`,\r\n {\r\n PolicyNumber: sRequest.sPolicyNumber,\r\n MemberNumber: sRequest.sMemberNumber,\r\n PolicyType: (sRequest.sPolicyType === 'PF' ? 'SF' : sRequest.sPolicyType),\r\n PolicySubType: sRequest.sPolicySubType,\r\n LocationType: sRequest.sLocationType,\r\n },\r\n config)\r\n .then((documentResults) => {\r\n if (documentResults && documentResults.data) {\r\n resolve(documentResults.data);\r\n }\r\n\r\n reject(new Error());\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'documents.js', methodName: 'getBillingDocumentList', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getCurrentBillingDocument(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${documentServiceUrl}/document/current/${sRequest.sPolicyNumber}?access_token=${ssoToken}`,\r\n {\r\n PolicyNumber: sRequest.sPolicyNumber,\r\n MemberNumber: sRequest.sMemberNumber,\r\n PolicyType: (sRequest.sPolicyType === 'PF' ? 'SF' : sRequest.sPolicyType),\r\n PolicySubType: sRequest.sPolicySubType,\r\n LocationType: 'ACCT-CUR',\r\n },\r\n config)\r\n .then((documentResults) => {\r\n // Was something returned? Was data returned? Were pages returned? Were more than zero pages returned?\r\n if (documentResults && documentResults.data && documentResults.data.pages && documentResults.data.pages !== null && documentResults.data.pages.length > 0) {\r\n // Build and display the PDF from the returned binary string\r\n // const documentDate = helpers.methods.parseDate(new Date().toISOString());\r\n // showPDF(documentResults.data.pages[0].content, `${documentDate}-${sRequest.sPolicyNumber}-Billing.pdf`, context, sRequest.sTfbId);\r\n\r\n // Resolve the promise, returning the document data\r\n resolve(documentResults.data.pages[0].content);\r\n } else {\r\n reject(new Error(`Current billing document for policy ${sRequest.sPolicyNumber} is unavailable. Please try again later.`));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'documents.js', methodName: 'getCurrentBillingDocument', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (error && ((error.status && error.status === 404) || (error.toString().indexOf('status code 404') >= 0 || error.toString().indexOf('status code 401') >= 0))) {\r\n // No document found\r\n reject(new Error(`Current billing document for policy ${sRequest.sPolicyNumber} is unavailable. Please try again later.`));\r\n } else {\r\n // Some other reason\r\n reject(error);\r\n }\r\n });\r\n });\r\n },\r\n getSpecificIdBillingDocument(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${documentServiceUrl}/document/byid/${sRequest.sPolicyNumber}?access_token=${ssoToken}`,\r\n {\r\n PolicyNumber: sRequest.sPolicyNumber,\r\n PolicyType: (sRequest.sPolicyType === 'PF' ? 'SF' : sRequest.sPolicyType),\r\n PolicySubType: sRequest.sPolicySubType,\r\n DocumentId: sRequest.sDocumentId,\r\n },\r\n config)\r\n .then((documentResults) => {\r\n // Was something returned? Was data returned? Were pages returned? Were more than zero pages returned?\r\n if (documentResults && documentResults.data && documentResults.data.pages && documentResults.data.pages !== null && documentResults.data.pages.length > 0) {\r\n // Build and display the PDF from the returned binary string\r\n // showPDF(documentResults.data.pages[0].content, `${sRequest.sVersionId}-${sRequest.sPolicyNumber}-${sRequest.sFormDescription}.pdf`, context, sRequest.sTfbId);\r\n\r\n // Resolve the promise, returning the document data\r\n resolve(documentResults.data.pages[0].content);\r\n } else {\r\n reject(new Error(`Requested billing document for policy ${sRequest.sPolicyNumber} is unavailable. Please try again later.`));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'documents.js', methodName: 'getSpecificIdBillingDocument', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (error && ((error.status && error.status === 404) || (error.toString().indexOf('status code 404') >= 0 || error.toString().indexOf('status code 401') >= 0))) {\r\n // No document found\r\n reject(new Error(`Requested billing document for policy ${sRequest.sPolicyNumber} is unavailable. Please try again later.`));\r\n } else {\r\n // Some other reason\r\n reject(error);\r\n }\r\n });\r\n });\r\n },\r\n getPolicyDocumentList(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${documentServiceUrl}/document/policy/list/${sRequest.sPolicyNumber}?access_token=${ssoToken}`,\r\n {\r\n PolicyNumber: sRequest.sPolicyNumber,\r\n PolicyType: (sRequest.sPolicyType === 'PF' ? 'SF' : sRequest.sPolicyType),\r\n PolicySubType: sRequest.sPolicySubType,\r\n LocationType: sRequest.sLocationType,\r\n },\r\n config)\r\n .then((documentResults) => {\r\n if (documentResults && documentResults.data) {\r\n resolve(groupPolicyDocuments(documentResults.data));\r\n }\r\n\r\n reject(new Error());\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'documents.js', methodName: 'getPolicyDocumentList', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getSpecificIdPolicyDocument(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${documentServiceUrl}/document/policy/byid/${sRequest.sPolicyNumber}?access_token=${ssoToken}`,\r\n {\r\n PolicyNumber: sRequest.sPolicyNumber,\r\n PolicyType: (sRequest.sPolicyType === 'PF' ? 'SF' : sRequest.sPolicyType),\r\n PolicySubType: sRequest.sPolicySubType,\r\n DocumentId: sRequest.sDocumentId,\r\n },\r\n config)\r\n .then((documentResults) => {\r\n // Was something returned? Was data returned? Were pages returned? Were more than zero pages returned?\r\n if (documentResults && documentResults.data && documentResults.data.pages && documentResults.data.pages !== null && documentResults.data.pages.length > 0) {\r\n // Build and display the PDF from the returned binary string\r\n // showPDF(documentResults.data.pages[0].content, `${sRequest.sPolicyNumber}-${sRequest.sFormDescription}.pdf`, context, sRequest.sTfbId);\r\n\r\n // Resolve the promise, returning the document data\r\n resolve(documentResults.data.pages[0].content);\r\n } else {\r\n reject(new Error(`Requested policy document for policy ${sRequest.sPolicyNumber} is unavailable. Please try again later.`));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'documents.js', methodName: 'getSpecificIdPolicyDocument', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (error && ((error.status && error.status === 404) || (error.toString().indexOf('status code 404') >= 0 || error.toString().indexOf('status code 401') >= 0))) {\r\n // No document found\r\n reject(new Error(`Requested policy document for policy ${sRequest.sPolicyNumber} is unavailable. Please try again later.`));\r\n } else {\r\n // Some other reason\r\n reject(error);\r\n }\r\n });\r\n });\r\n },\r\n getCurrentPolicyDocument(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${documentServiceUrl}/document/policy/current/${sRequest.sPolicyNumber}?access_token=${ssoToken}`,\r\n {\r\n PolicyNumber: sRequest.sPolicyNumber,\r\n PolicyType: (sRequest.sPolicyType === 'PF' ? 'SF' : sRequest.sPolicyType),\r\n PolicySubType: sRequest.sPolicySubType,\r\n LocationType: 'POL-CURR',\r\n },\r\n config)\r\n .then((documentResults) => {\r\n // Was something returned? Was data returned? Were pages returned? Were more than zero pages returned?\r\n if (documentResults && documentResults.data && documentResults.data.pages && documentResults.data.pages !== null && documentResults.data.pages.length > 0) {\r\n // Build and display the PDF from the returned binary string\r\n // const documentDate = helpers.methods.parseDate(new Date().toISOString());\r\n // showPDF(documentResults.data.pages[0].content, `${documentDate}-${sRequest.sPolicyNumber}-Policy.pdf`, context, sRequest.sTfbId);\r\n\r\n // Resolve the promise, returning the document data\r\n resolve(documentResults.data.pages[0].content);\r\n } else {\r\n reject(new Error(`Current policy document for policy ${sRequest.sPolicyNumber} is unavailable. Please try again later.`));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'documents.js', methodName: 'getCurrentPolicyDocument', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (error && ((error.status && error.status === 404) || (error.toString().indexOf('status code 404') >= 0 || error.toString().indexOf('status code 401') >= 0))) {\r\n // No document found\r\n reject(new Error(`Current policy document for policy ${sRequest.sPolicyNumber} is unavailable. Please try again later.`));\r\n } else {\r\n // Some other reason\r\n reject(error);\r\n }\r\n });\r\n });\r\n },\r\n showPDF(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n const isSafariBrowser = isSafari();\r\n const byteCharacters = atob(sRequest.inputPDFArray);\r\n const byteNumbers = new Array(byteCharacters.length);\r\n for (let i = 0; i < byteCharacters.length; i += 1) {\r\n byteNumbers[i] = byteCharacters.charCodeAt(i);\r\n }\r\n const byteArray = new Uint8Array(byteNumbers);\r\n const file = new Blob([byteArray], { type: 'application/pdf;base64' });\r\n const pdfUrl = (window.URL || window.webkitURL).createObjectURL(file);\r\n\r\n // Based on the browser, determine how we open the document\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(file, sRequest.fileName);\r\n } else if (isSafariBrowser) {\r\n // If browser is Safari, use a Reader to display the PDF in a newly opened window\r\n const pdfWindow = window.open('');\r\n const reader = new FileReader();\r\n reader.onloadend = function () {\r\n pdfWindow.location.href = reader.result;\r\n };\r\n reader.readAsDataURL(file);\r\n // Is this user blocking pop-ups?\r\n if (!pdfWindow || pdfWindow === null || typeof (pdfWindow) === 'undefined') {\r\n // Tell the user to disable their pop-up blocker\r\n context.dispatch('app/setErrorMessage', 'Pop-ups are currently blocked for this site. Please disable your pop-up blocker and click the link again.', { root: true });\r\n reject(new Error('Pop-ups are currently blocked for this site. Please disable your pop-up blocker and click the link again.'));\r\n }\r\n\r\n // let popUp = null;\r\n // const objectUrl = window.URL.createObjectURL(file);\r\n // popUp = document.createElement('a');\r\n // popUp.href = objectUrl;\r\n // popUp.download = sRequest.fileName;\r\n // document.body.appendChild(popUp);\r\n // popUp.click();\r\n // document.body.removeChild(popUp);\r\n // // Is this user blocking pop-ups?\r\n // if (!popUp || popUp === null || typeof (popUp) === 'undefined') {\r\n // // Tell the user to disable their pop-up blocker\r\n // context.dispatch('app/setErrorMessage', 'Pop-ups are currently blocked for this site. Please disable your pop-up blocker and click the link again.', { root: true });\r\n // reject(new Error('Pop-ups are currently blocked for this site. Please disable your pop-up blocker and click the link again.'));\r\n // }\r\n\r\n // const a = document.createElement('a');\r\n // a.style.display = 'none';\r\n // document.body.appendChild(a);\r\n // a.href = window.URL.createObjectURL(file);\r\n // a.setAttribute('download', fileName);\r\n // a.click();\r\n // window.URL.revokeObjectURL(a.href);\r\n // document.body.removeChild(a);\r\n } else {\r\n // If browser is not Safari, open a new window (works in chrome)\r\n window.open(pdfUrl, '_blank');\r\n }\r\n\r\n resolve(true);\r\n } catch (e) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: e, fileName: 'documents.js', methodName: 'showPDF', trackerId: sRequest.tfbId,\r\n }, { root: true });\r\n context.dispatch('app/setErrorMessage', 'Error loading document. Please try again.', { root: true });\r\n reject(new Error('Error loading document. Please try again.'));\r\n }\r\n });\r\n },\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations,\r\n};\r\n","const apiKey = 'AIzaSyD_z4PPuUe3rJuAfBYTf7h0I5OoWppnuXE';\r\n\r\nconst COLORS = {\r\n POINT: '#323232',\r\n POINT_FILL: '#008ce1',\r\n POINT_FILL_SECONDARY: '#d70019',\r\n};\r\n\r\nconst defaultMarkerIcon = {\r\n path: 'M 0,0 C -2,-20 -10,-22 -10,-30 A 10,10 0 1,1 10,-30 C 10,-22 2,-20 0,0 z M -2,-30 a 2,2 0 1,1 4,0 2,2 0 1,1 -4,0',\r\n strokeWeight: 1,\r\n strokeColor: COLORS.POINT,\r\n fillColor: COLORS.POINT_FILL,\r\n fillOpacity: 1,\r\n scale: 1,\r\n};\r\n\r\nconst secondaryMarkerIcon = {\r\n path: 'M 0,0 C -2,-20 -10,-22 -10,-30 A 10,10 0 1,1 10,-30 C 10,-22 2,-20 0,0 z M -2,-30 a 2,2 0 1,1 4,0 2,2 0 1,1 -4,0',\r\n strokeWeight: 1,\r\n strokeColor: COLORS.POINT,\r\n fillColor: COLORS.POINT_FILL_SECONDARY,\r\n fillOpacity: 1,\r\n scale: 1,\r\n};\r\n\r\nconst defaultMarker = {\r\n infoText: 'Texas Farm Bureau Home Office',\r\n position: { lat: 31.5248446, lng: -97.2181 },\r\n visibility: false,\r\n icon: secondaryMarkerIcon,\r\n};\r\n\r\nconst defaultCenter = { lat: 31.5248446, lng: -97.2181 };\r\n\r\nconst mapSettings = {\r\n clickableIcons: true,\r\n streetViewControl: false,\r\n panControlOptions: false,\r\n gestureHandling: 'cooperative',\r\n mapTypeControl: false,\r\n zoomControlOptions: {\r\n style: 'SMALL',\r\n },\r\n zoom: 11,\r\n minZoom: 2,\r\n maxZoom: 15,\r\n};\r\n\r\nexport {\r\n apiKey, mapSettings, defaultMarkerIcon, secondaryMarkerIcon, defaultMarker, defaultCenter,\r\n};\r\n","import axios from 'axios';\r\nimport { apiKey } from '../../mixins/googleSettings';\r\n\r\n// Vue.http.options.credentials = true;\r\n\r\n// Vue.http.options.xhr = {\r\n// withCredentials: true,\r\n// };\r\n// Vue.http.options.emulateJSON = true;\r\n// Vue.http.options.emulateHTTP = true;\r\n// Vue.http.options.crossOrigin = true;\r\n\r\n// Vue.http.headers.common['Access-Control-Allow-Origin'] = '*';\r\n// Vue.http.headers.common['Content-Type'] = 'application/x-www-form-urlencoded';\r\n// Vue.http.headers.common['Accept'] = 'application/json, text/plain, */*';\r\n// Vue.http.headers.common['Access-Control-Allow-Headers'] =\r\n// 'Origin, Accept, Content-Type, Authorization, Access-Control-Allow-Origin';\r\n\r\nconst config = {\r\n crossdomain: true,\r\n // withCredentials: true,\r\n // headers: { 'Access-Control-Allow-Origin': '*', Accept: 'application/json; odata=verbose' },\r\n};\r\n\r\n// getters\r\nconst getters = {\r\n storedZipCode: state => state.zipCode,\r\n};\r\n\r\n// mutations\r\nconst mutations = {\r\n SET_GEOLOCATION_STATE(state, changedGeoLocation) {\r\n state.geoLocationEnabled = changedGeoLocation;\r\n },\r\n SET_ZIPCODE(state, changedZipCode) {\r\n state.zipCode = changedZipCode;\r\n },\r\n SET_LATITUDE(state, changedLatitude) {\r\n state.latitude = changedLatitude;\r\n },\r\n SET_LONGITUDE(state, changedLongitude) {\r\n state.longitude = changedLongitude;\r\n },\r\n SET_COUNTYNAME(state, changedCountyName) {\r\n state.countyName = changedCountyName;\r\n },\r\n};\r\n\r\n// actions\r\nconst actions = {\r\n async setLocation(context) {\r\n // console.log('in setLocation');\r\n await context.dispatch('setLatLong');\r\n\r\n if (context.state.geoLocationEnabled) {\r\n await context.dispatch('setCountyName');\r\n await context.dispatch('setZipCode');\r\n }\r\n },\r\n async setLatLong(context) {\r\n // console.log('in setLatLong');\r\n return new Promise((resolve, reject) => {\r\n // do we support geolocation\r\n if (!('geolocation' in navigator)) {\r\n // console.log('Geolocation is not available.');\r\n context.commit('SET_GEOLOCATION_STATE', false);\r\n reject();\r\n }\r\n navigator.geolocation.getCurrentPosition((pos) => {\r\n // console.log(pos);\r\n context.commit('SET_GEOLOCATION_STATE', true);\r\n context.commit('SET_LATITUDE', pos.coords.latitude);\r\n context.commit('SET_LONGITUDE', pos.coords.longitude);\r\n resolve();\r\n }, (err) => {\r\n console.log(err);\r\n context.commit('SET_GEOLOCATION_STATE', false);\r\n reject();\r\n });\r\n });\r\n },\r\n async setZipCode(context) {\r\n // console.log('in setZipCode');\r\n await axios.get(`https://maps.googleapis.com/maps/api/geocode/json?latlng=${context.state.latitude},${context.state.longitude}&key=${apiKey}`, config)\r\n .then((response) => {\r\n // Get the current zip code from the returned address\r\n for (let i = 0; i < response.data.results[0].address_components.length; i += 1) {\r\n const item = response.data.results[0].address_components[i];\r\n if (item.types[0] === 'postal_code') {\r\n context.commit('SET_ZIPCODE', item.long_name);\r\n }\r\n }\r\n });\r\n },\r\n async setCountyName(context) {\r\n // console.log('in setCountyName');\r\n await axios.get(`https://maps.googleapis.com/maps/api/geocode/json?latlng=${context.state.latitude},${context.state.longitude}&key=${apiKey}`, config)\r\n .then((response) => {\r\n for (let i = 0; i < response.data.results[0].address_components.length; i += 1) {\r\n const item = response.data.results[0].address_components[i];\r\n if (item.types[0] === 'administrative_area_level_2') {\r\n context.commit('SET_COUNTYNAME', item.long_name.replace(' County', ''));\r\n }\r\n }\r\n });\r\n },\r\n async getAddress(context, sRequest) {\r\n return axios\r\n .get(`https://maps.googleapis.com/maps/api/geocode/json?address=${sRequest.sAddress}&key=${apiKey}`, config);\r\n },\r\n async getLocation() {\r\n // *****\r\n // Success\r\n // {\r\n // \"location\": {\r\n // \"lat\": 51.0,\r\n // \"lng\": -0.1\r\n // },\r\n // \"accuracy\": 1200.4\r\n // }\r\n // *****\r\n // Error\r\n // {\r\n // \"error\": {\r\n // \"errors\": [\r\n // {\r\n // \"domain\": \"global\",\r\n // \"reason\": \"parseError\",\r\n // \"message\": \"Parse Error\",\r\n // }\r\n // ],\r\n // \"code\": 400,\r\n // \"message\": \"Parse Error\"\r\n // }\r\n // }\r\n return axios\r\n .get(`https://www.googleapis.com/geolocation/v1/geolocate?key=${apiKey}`, config);\r\n },\r\n};\r\n\r\n// state\r\nconst state = {\r\n zipCode: null,\r\n countyName: null,\r\n latitude: null,\r\n longitude: null,\r\n geoLocationEnabled: false,\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations,\r\n};\r\n","import Vue from 'vue';\r\nimport { make } from 'vuex-pathify';\r\nimport axios from 'axios';\r\nimport { differenceInHours, parseISO } from 'date-fns';\r\nimport _ from 'lodash';\r\nimport { genericErrorMessage } from '../../mixins/errorMessages';\r\nimport helpers from '../../mixins/helpers';\r\n/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\r\n/* eslint no-underscore-dangle: 0 */\r\n/* eslint no-mixed-operators: 0 */\r\n/* eslint no-unused-vars: 0 */\r\n/* eslint no-nested-ternary: 0 */\r\n\r\nconst memberAccessServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/tfbic.services.restmember.access/rest_memberaccess.svc`;\r\nconst memberLookupServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/tfbic.services.restmember.lookup`;\r\nconst memberLookupAgentServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/tfbic.services.restmember.agent/rest_memberagent.svc`;\r\nconst ssoIdentityServiceUrl = `${process.env.VUE_APP_WEB_URI}/sso-api/identity`;\r\n\r\nconst tokenName = process.env.VUE_APP_WEB_ENV !== 'PROD' ? `tfb_${process.env.VUE_APP_WEB_ENV}_token` : 'tfb_token';\r\nconst invoiceCloudTokenName = process.env.VUE_APP_WEB_ENV !== 'PROD' ? `tfb_ic_${process.env.VUE_APP_WEB_ENV}_token` : 'tfb_ic_token';\r\n\r\nconst config = {\r\n crossdomain: true,\r\n withCredentials: true,\r\n headers: { 'Access-Control-Allow-Origin': '*', Accept: 'application/json; odata=verbose', 'Content-Type': 'application/json; odata=verbose' },\r\n};\r\n\r\nconst functions = {\r\n isEmailAddress(str) {\r\n // eslint-disable-next-line no-useless-escape\r\n const regEx = new RegExp(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/igm);\r\n return regEx.test(str);\r\n },\r\n};\r\n\r\nfunction getDefaultState() {\r\n return {\r\n loggedInStatus: false,\r\n agentNumber: '',\r\n communicationIndicator: false,\r\n conversionIndicator: false,\r\n delinquentIndicator: null,\r\n verifiedIndicator: false,\r\n emailAddress: '',\r\n pendingEmailAddress: '',\r\n lastLoginTimestamp: '',\r\n memberAddress: null,\r\n memberList: null,\r\n memberName: '',\r\n memberFirstName: '',\r\n memberLastName: '',\r\n memberNumber: '',\r\n memberId: '',\r\n resetIndicator: false,\r\n role: 'I',\r\n userName: '',\r\n removeMemberRequest: null,\r\n contactList: [],\r\n showPhoneVerification: false,\r\n showPhoneAdd: false,\r\n showTextEnable: false,\r\n invoiceCloudToken: null,\r\n };\r\n}\r\n\r\n// state\r\nconst state = getDefaultState();\r\n\r\n// mutations\r\nconst mutations = {\r\n CLEAR_GUIDEWIRE_TOKEN(state) {\r\n Vue.$cookies.remove(invoiceCloudTokenName);\r\n state.invoiceCloudToken = null;\r\n },\r\n SET_CONTACT_LIST(state, value) {\r\n state.contactList = value;\r\n },\r\n SET_SHOW_PHONE_VERIFICATION(state, value) {\r\n state.showPhoneVerification = value;\r\n },\r\n SET_SHOW_PHONE_ADD(state, value) {\r\n state.showPhoneAdd = value;\r\n },\r\n SET_SHOW_TEXT_ENABLE(state, value) {\r\n state.showTextEnable = value;\r\n },\r\n SET_AGENT_NUMBER(state, value) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n parsedTfbInsured.agentNumber = value;\r\n const parsed = JSON.stringify(parsedTfbInsured);\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n }\r\n\r\n state.agentNumber = value;\r\n },\r\n SET_COMMUNICATION_INDICATOR(state, value) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n parsedTfbInsured.communicationIndicator = value;\r\n const parsed = JSON.stringify(parsedTfbInsured);\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n }\r\n\r\n state.communicationIndicator = value;\r\n },\r\n SET_CONVERSION_INDICATOR(state, value) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n parsedTfbInsured.conversionIndicator = value;\r\n const parsed = JSON.stringify(parsedTfbInsured);\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n }\r\n\r\n state.conversionIndicator = value;\r\n },\r\n SET_DELINQUENT_INDICATOR(state, value) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n parsedTfbInsured.delinquentIndicator = value;\r\n const parsed = JSON.stringify(parsedTfbInsured);\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n }\r\n\r\n state.delinquentIndicator = value;\r\n },\r\n SET_EMAIL_ADDRESS(state, value) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n parsedTfbInsured.emailAddress = value;\r\n const parsed = JSON.stringify(parsedTfbInsured);\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n }\r\n\r\n state.emailAddress = value;\r\n },\r\n SET_INVOICE_CLOUD_TOKEN(state, value) {\r\n Vue.$cookies.set(invoiceCloudTokenName, value, '1d');\r\n state.invoiceCloudToken = value;\r\n },\r\n SET_PENDING_EMAIL_ADDRESS(state, value) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n parsedTfbInsured.pendingEmailAddress = value;\r\n const parsed = JSON.stringify(parsedTfbInsured);\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n }\r\n\r\n state.pendingEmailAddress = value;\r\n },\r\n SET_LAST_LOGIN_TIMESTAMP(state, value) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n parsedTfbInsured.lastLoginTimestamp = value;\r\n const parsed = JSON.stringify(parsedTfbInsured);\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n }\r\n\r\n state.lastLoginTimestamp = value;\r\n },\r\n SET_LOGGED_IN_STATUS(state, value) {\r\n state.loggedInStatus = value;\r\n },\r\n SET_MEMBER_ADDRESS(state, value) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n parsedTfbInsured.memberAddress = value;\r\n const parsed = JSON.stringify(parsedTfbInsured);\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n }\r\n\r\n state.memberAddress = value;\r\n },\r\n SET_MEMBER_ID(state, value) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n parsedTfbInsured.memberId = value;\r\n const parsed = JSON.stringify(parsedTfbInsured);\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n }\r\n\r\n state.memberId = value;\r\n },\r\n SET_MEMBER_LIST(state, value) {\r\n sessionStorage.setItem('tfb_members', JSON.stringify(value));\r\n state.memberList = value;\r\n },\r\n SET_MEMBER_NAME(state, value) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n parsedTfbInsured.memberName = value;\r\n const parsed = JSON.stringify(parsedTfbInsured);\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n }\r\n\r\n state.memberName = value;\r\n },\r\n SET_MEMBER_FIRST_NAME(state, value) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n parsedTfbInsured.memberFirstName = value;\r\n const parsed = JSON.stringify(parsedTfbInsured);\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n }\r\n\r\n state.memberFirstName = value;\r\n },\r\n SET_MEMBER_LAST_NAME(state, value) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n parsedTfbInsured.memberLastName = value;\r\n const parsed = JSON.stringify(parsedTfbInsured);\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n }\r\n\r\n state.memberLastName = value;\r\n },\r\n SET_MEMBER_NUMBER(state, value) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n parsedTfbInsured.memberNumber = value;\r\n const parsed = JSON.stringify(parsedTfbInsured);\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n }\r\n\r\n state.memberNumber = value;\r\n },\r\n SET_REMOVE_MEMBER_REQUEST(state, value) {\r\n state.removeMemberRequest = value;\r\n },\r\n SET_RESET_INDICATOR(state, value) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n parsedTfbInsured.resetIndicator = value;\r\n const parsed = JSON.stringify(parsedTfbInsured);\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n }\r\n\r\n state.resetIndicator = value;\r\n },\r\n SET_ROLE(state, value) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n parsedTfbInsured.role = value;\r\n const parsed = JSON.stringify(parsedTfbInsured);\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n }\r\n\r\n state.role = value;\r\n },\r\n SET_USER_NAME(state, value) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n parsedTfbInsured.userName = value;\r\n const parsed = JSON.stringify(parsedTfbInsured);\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n }\r\n\r\n state.userName = value;\r\n },\r\n SET_VERIFIED_INDICATOR(state, value) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n parsedTfbInsured.verifiedIndicator = value;\r\n const parsed = JSON.stringify(parsedTfbInsured);\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n }\r\n\r\n state.verifiedIndicator = value;\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n};\r\n\r\n// getters\r\nconst getters = {\r\n ...make.getters(state),\r\n memberNumber(state) {\r\n if (!state.memberNumber || state.memberNumber === null) {\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n if (tfbInsured) {\r\n const parsedTfbInsured = JSON.parse(tfbInsured);\r\n state.memberNumber = parsedTfbInsured.memberNumber;\r\n }\r\n }\r\n\r\n return state.memberNumber;\r\n },\r\n invoiceCloudToken(state) {\r\n if (!state.invoiceCloudToken || state.invoiceCloudToken === null) {\r\n state.invoiceCloudToken = Vue.$cookies.get(invoiceCloudTokenName);\r\n }\r\n\r\n return state.invoiceCloudToken;\r\n },\r\n};\r\n\r\n// actions\r\nconst actions = {\r\n validateLogin(context, sRequest) {\r\n return new Promise((resolve) => {\r\n // Is information populated in the state?\r\n if (context.state.loggedInStatus && context.state.lastLoginTimestamp !== '') {\r\n const loggedInTime = differenceInHours(new Date(), parseISO(context.state.lastLoginTimestamp));\r\n\r\n if (loggedInTime > 4) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: 'Auto LogOut: State Timestamp GT 4 Hours', fileName: 'member.js', methodName: 'validateLogin-Exit', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n // Session is no good\r\n resolve(false);\r\n } else {\r\n // Make sure the information is up to date\r\n context.dispatch('validateInformation', { sMemberNumber: context.state.memberNumber, sTfbId: sRequest.sTfbId });\r\n resolve(true);\r\n }\r\n } else {\r\n // Is information populated in the SessionStorage?\r\n const tfbInsured = sessionStorage.getItem('tfb_insured');\r\n const tfbMembers = sessionStorage.getItem('tfb_members');\r\n\r\n if (tfbInsured) {\r\n const tfbParsedInsured = JSON.parse(tfbInsured);\r\n const tfbParsedMembers = JSON.parse(tfbMembers);\r\n\r\n const loggedInTime = differenceInHours(new Date(), parseISO(tfbParsedInsured.lastLoginTimestamp));\r\n\r\n if (loggedInTime > 4) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: 'Auto LogOut: Session Timestamp GT 4 Hours', fileName: 'member.js', methodName: 'validateLogin-Exit', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n // Session is no good\r\n resolve(false);\r\n }\r\n\r\n if (tfbParsedInsured.memberName && tfbParsedInsured.memberName !== '') {\r\n const memberSplitName = tfbParsedInsured.memberName.split(' ');\r\n if (memberSplitName && memberSplitName.length > 0) {\r\n context.commit('SET_MEMBER_FIRST_NAME', memberSplitName[0]);\r\n context.commit('SET_MEMBER_LAST_NAME', memberSplitName[1]);\r\n } else {\r\n context.commit('SET_MEMBER_FIRST_NAME', '');\r\n context.commit('SET_MEMBER_LAST_NAME', '');\r\n }\r\n } else {\r\n context.commit('SET_MEMBER_FIRST_NAME', '');\r\n context.commit('SET_MEMBER_LAST_NAME', '');\r\n }\r\n\r\n context.commit('SET_LOGGED_IN_STATUS', true);\r\n context.commit('SET_ROLE', tfbParsedInsured.role);\r\n context.commit('SET_LAST_LOGIN_TIMESTAMP', tfbParsedInsured.lastLoginTimestamp);\r\n context.commit('SET_EMAIL_ADDRESS', tfbParsedInsured.emailAddress);\r\n context.commit('SET_USER_NAME', tfbParsedInsured.userName);\r\n context.commit('SET_MEMBER_NUMBER', tfbParsedInsured.memberNumber);\r\n context.commit('SET_MEMBER_ID', tfbParsedInsured.memberId);\r\n context.commit('SET_RESET_INDICATOR', tfbParsedInsured.resetIndicator);\r\n context.commit('SET_VERIFIED_INDICATOR', tfbParsedInsured.verifiedIndicator);\r\n context.commit('SET_COMMUNICATION_INDICATOR', tfbParsedInsured.communicationIndicator);\r\n context.commit('SET_MEMBER_NAME', tfbParsedInsured.memberName);\r\n context.commit('SET_AGENT_NUMBER', tfbParsedInsured.agentNumber);\r\n context.commit('SET_MEMBER_ADDRESS', tfbParsedInsured.memberAddress);\r\n context.commit('SET_CONVERSION_INDICATOR', tfbParsedInsured.conversionIndicator);\r\n context.commit('SET_MEMBER_LIST', tfbParsedMembers);\r\n\r\n // Make sure the information is up to date\r\n context.dispatch('validateInformation', { sMemberNumber: tfbParsedInsured.memberNumber, sTfbId: sRequest.sTfbId });\r\n resolve(true);\r\n } else {\r\n // Is there a SSO cookie/token?\r\n const ssoCookie = Vue.$cookies.get(tokenName);\r\n const ssoToken = sRequest.sToken;\r\n\r\n if (ssoCookie || ssoToken) {\r\n let ssoValue = '';\r\n if (ssoCookie) {\r\n ssoValue = ssoCookie;\r\n } else {\r\n ssoValue = ssoToken;\r\n Vue.$cookies.set(tokenName, sRequest.sToken, '1d');\r\n }\r\n // config.headers.Authorization = `Bearer ${ssoCookie}`;\r\n axios.get(`${ssoIdentityServiceUrl}?access_token=${ssoValue}`, config)\r\n .then((identityResponse) => {\r\n // console.log(`data:${identityResponse.data}`);\r\n // const parsedIdentityResponse = JSON.parse(identityResponse.data);\r\n // console.log(parsedIdentityResponse);\r\n const lastLogin = new Date().toISOString();\r\n context.commit('SET_LAST_LOGIN_TIMESTAMP', lastLogin);\r\n context.commit('SET_LOGGED_IN_STATUS', true);\r\n\r\n for (let i = 0; i < identityResponse.data.length; i += 1) {\r\n const identityItem = identityResponse.data[i];\r\n if (identityItem.type === 'insured_id') {\r\n context.commit('SET_MEMBER_ID', identityItem.value);\r\n // Make sure the information is up to date\r\n context.dispatch('validateInformation', { sMemberNumber: context.state.memberNumber, sTfbId: sRequest.sTfbId });\r\n } else if (identityItem.type === 'current_member') {\r\n context.commit('SET_MEMBER_NUMBER', identityItem.value);\r\n // Make sure the information is up to date\r\n context.dispatch('validateInformation', { sMemberNumber: identityItem.value, sTfbId: sRequest.sTfbId });\r\n\r\n // Get member information\r\n context.dispatch('getMemberInformation', { sMemberNumber: identityItem.value, sTfbId: '' })\r\n .then((memberResults) => {\r\n if (memberResults && (!memberResults.ErrorMessage || memberResults.ErrorMessage === null || memberResults.ErrorMessage === '')) {\r\n // Rebuild session\r\n context.commit('SET_MEMBER_NAME', memberResults.PrimaryMemberName);\r\n context.commit('SET_AGENT_NUMBER', memberResults.AgentCode);\r\n context.commit('SET_MEMBER_ADDRESS', memberResults.MemberAddress);\r\n\r\n if (!memberResults.AgentCode || memberResults.AgentCode === '' || memberResults.AgentCode === null || memberResults.AgentCode === '99997') {\r\n // See if we can get the agent number\r\n context.dispatch('agentcounty/getAgentCodeByMember', {\r\n sMemberNumber: identityItem.value, trackerId: sRequest.sTfbId,\r\n }, { root: true })\r\n .then((response) => {\r\n if (response._agentCode) {\r\n if (response._agentCode === '99997') {\r\n // Pool account agent, so don't use it\r\n context.commit('SET_AGENT_NUMBER', '');\r\n } else {\r\n // Save code\r\n context.commit('SET_AGENT_NUMBER', response._agentCode);\r\n }\r\n }\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n }\r\n\r\n if (memberResults.PrimaryMemberName && memberResults.PrimaryMemberName !== '') {\r\n const memberSplitName = memberResults.PrimaryMemberName.split(' ');\r\n if (memberSplitName && memberSplitName.length > 0) {\r\n context.commit('SET_MEMBER_FIRST_NAME', memberSplitName[0]);\r\n context.commit('SET_MEMBER_LAST_NAME', memberSplitName[1]);\r\n } else {\r\n context.commit('SET_MEMBER_FIRST_NAME', '');\r\n context.commit('SET_MEMBER_LAST_NAME', '');\r\n }\r\n } else {\r\n context.commit('SET_MEMBER_FIRST_NAME', '');\r\n context.commit('SET_MEMBER_LAST_NAME', '');\r\n }\r\n\r\n resolve('');\r\n } else {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(memberResults), fileName: 'member.js', methodName: 'validateLogin-MemberReturnError', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n context.commit('SET_MEMBER_NAME', '');\r\n context.commit('SET_AGENT_NUMBER', '');\r\n context.commit('SET_MEMBER_ADDRESS', null);\r\n context.commit('SET_MEMBER_FIRST_NAME', '');\r\n context.commit('SET_MEMBER_LAST_NAME', '');\r\n resolve('');\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'member.js', methodName: 'validateLogin-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n context.commit('SET_MEMBER_NAME', '');\r\n context.commit('SET_AGENT_NUMBER', '');\r\n context.commit('SET_MEMBER_ADDRESS', null);\r\n context.commit('SET_MEMBER_FIRST_NAME', '');\r\n context.commit('SET_MEMBER_LAST_NAME', '');\r\n resolve('');\r\n });\r\n } else if (identityItem.type === 'member_list') {\r\n const finalMemberList = [];\r\n const memberList = identityItem.value.split(';');\r\n for (let m = 0; m < memberList.length; m += 1) {\r\n const memberListItem = memberList[m];\r\n const memberListItemDetails = memberListItem.split('-');\r\n finalMemberList.push({ Id: memberListItemDetails[0], Nbr: memberListItemDetails[1] });\r\n }\r\n context.commit('SET_MEMBER_LIST', finalMemberList);\r\n }\r\n }\r\n\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: `Auto LogOut: Token No Good: ${error}`, fileName: 'member.js', methodName: 'validateLogin-Exit', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n // Cookie is no good\r\n Vue.$cookies.remove(tokenName);\r\n Vue.$cookies.remove(invoiceCloudTokenName);\r\n resolve(false);\r\n });\r\n } else {\r\n resolve(false);\r\n }\r\n }\r\n }\r\n });\r\n },\r\n validateInformation(context, sRequest) {\r\n // Make sure we have the latest email address/verification information\r\n return new Promise((resolve, reject) => {\r\n if (sRequest && sRequest.sMemberNumber && sRequest.sMemberNumber !== null) {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${memberAccessServiceUrl}/fetch-login/${sRequest.sMemberNumber}`, config)\r\n .then((loginResults) => {\r\n // console.log(loginResults.data);\r\n for (let i = 0; i < loginResults.data.length; i += 1) {\r\n const user = loginResults.data[i];\r\n if (user.InsuredId.toString().trim().toLowerCase() === context.state.memberId.toString().trim().toLowerCase()) {\r\n // This is the member we're looking for, make sure we have the updated information\r\n context.commit('SET_EMAIL_ADDRESS', user.EmailAddress);\r\n context.commit('SET_USER_NAME', user.UserName);\r\n context.commit('SET_VERIFIED_INDICATOR', (user.EmailVerificationIndicator === 'Y' ? !!true : false));\r\n context.commit('SET_PENDING_EMAIL_ADDRESS', user.PendingEmailChange);\r\n context.commit('SET_COMMUNICATION_INDICATOR', (user.CommunicationOption === 'Y' ? !!true : false));\r\n context.commit('SET_RESET_INDICATOR', (user.PasswordResetIndicator === 'Y' ? !!true : false));\r\n context.commit('SET_CONVERSION_INDICATOR', (functions.isEmailAddress(user.UserName) ? !!false : true));\r\n }\r\n }\r\n\r\n resolve();\r\n })\r\n .catch((error) => {\r\n resolve();\r\n });\r\n }\r\n\r\n resolve();\r\n });\r\n },\r\n doLogin(context, loginRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: `Starting login: ${loginRequest.sUserName}`, fileName: 'member.js', methodName: 'doLogin-Begin', trackerId: loginRequest.sTfbId,\r\n }, { root: true });\r\n axios.post(`${memberAccessServiceUrl}/SecuredLogin`, {\r\n Password: loginRequest.sPassword,\r\n Username: loginRequest.sUserName,\r\n GoogleCaptchaToken: loginRequest.sCatchaText,\r\n }, config)\r\n .then((loginResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(loginResult), fileName: 'member.js', methodName: 'doLogin-Result', trackerId: loginRequest.sTfbId,\r\n }, { root: true });\r\n if (loginResult && loginResult.data && loginResult.data.AccessToken && loginResult.data.AccessToken !== null) {\r\n if (loginResult.data.ErrorMessage === null || loginResult.data.ErrorMessage === '' || loginResult.data.ErrorMessage === 'Unable to locate agent.') {\r\n Vue.$cookies.set(tokenName, loginResult.data.AccessToken, '1d');\r\n context.commit('SET_LOGGED_IN_STATUS', true);\r\n context.commit('SET_INVOICE_CLOUD_TOKEN', loginResult.data.InvoiceCloudAccessToken);\r\n context.commit('SET_LAST_LOGIN_TIMESTAMP', new Date().toISOString());\r\n context.commit('SET_ROLE', 'I');\r\n context.commit('SET_EMAIL_ADDRESS', loginResult.data.MemberEmailAddress);\r\n context.commit('SET_PENDING_EMAIL_ADDRESS', loginResult.data.MemberPendingEmailAddress);\r\n context.commit('SET_USER_NAME', loginResult.data.UserName);\r\n context.commit('SET_RESET_INDICATOR', (loginResult.data.PasswordResetFlag === 'True' ? !!true : false));\r\n context.commit('SET_VERIFIED_INDICATOR', (loginResult.data.EmailVerified === 'True' ? !!true : false));\r\n context.commit('SET_COMMUNICATION_INDICATOR', (loginResult.data.CommunicationPreferred === 'Y' ? !!true : false));\r\n context.commit('SET_MEMBER_NAME', loginResult.data.MemberName);\r\n context.commit('SET_AGENT_NUMBER', loginResult.data.AgentNumber);\r\n context.commit('SET_MEMBER_ADDRESS', loginResult.data.MemberAddress);\r\n context.commit('SET_CONVERSION_INDICATOR', (functions.isEmailAddress(loginResult.data.UserName) ? !!false : true));\r\n\r\n // See if this is one of the weird email address usernames but no email address\r\n if (loginResult.data.MemberEmailAddress === null || loginResult.data.MemberEmailAddress === '') {\r\n if (functions.isEmailAddress(loginResult.data.UserName)) {\r\n // Set the email address to the username\r\n context.commit('SET_EMAIL_ADDRESS', loginResult.data.UserName);\r\n }\r\n }\r\n\r\n const memberList = [];\r\n if (loginResult.data.Members && loginResult.data.Members !== null && loginResult.data.Members.length > 0) {\r\n context.commit('SET_MEMBER_ID', loginResult.data.Members[0].MemberIDNumber);\r\n context.commit('SET_MEMBER_NUMBER', loginResult.data.Members[0].LongMemberNumber && loginResult.data.Members[0].LongMemberNumber !== ''\r\n ? loginResult.data.Members[0].LongMemberNumber : loginResult.data.Members[0].MemberNumber);\r\n\r\n for (let i = 0; i < loginResult.data.Members.length; i += 1) {\r\n const member = loginResult.data.Members[i];\r\n if (member.LongMemberNumber === undefined || member.LongMemberNumber === null || member.LongMemberNumber === '') {\r\n memberList.push({ Id: member.MemberIDNumber, Nbr: member.MemberNumber, Lng: member.MemberNumber });\r\n } else {\r\n memberList.push({ Id: member.MemberIDNumber, Nbr: member.MemberNumber, Lng: member.LongMemberNumber });\r\n }\r\n }\r\n }\r\n context.commit('SET_MEMBER_LIST', memberList);\r\n\r\n if (!loginResult.data.AgentNumber || loginResult.data.AgentNumber === '' || loginResult.data.AgentNumber === null || loginResult.data.AgentNumber === '99997'\r\n && (loginResult.data.Members && loginResult.data.Members !== null && loginResult.data.Members.length > 0)) {\r\n // See if we can get the agent number\r\n context.dispatch('agentcounty/getAgentCodeByMember', {\r\n sMemberNumber: loginResult.data.Members[0].MemberNumber, trackerId: loginRequest.sTfbId,\r\n }, { root: true })\r\n .then((response) => {\r\n if (response._agentCode) {\r\n // Save code\r\n context.commit('SET_AGENT_NUMBER', response._agentCode);\r\n }\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n }\r\n\r\n if (loginResult.data.MemberName && loginResult.data.MemberName !== '') {\r\n const memberSplitName = loginResult.data.MemberName.split(' ');\r\n if (memberSplitName && memberSplitName.length > 0) {\r\n context.commit('SET_MEMBER_FIRST_NAME', memberSplitName[0]);\r\n context.commit('SET_MEMBER_LAST_NAME', memberSplitName[1]);\r\n } else {\r\n context.commit('SET_MEMBER_FIRST_NAME', '');\r\n context.commit('SET_MEMBER_LAST_NAME', '');\r\n }\r\n } else {\r\n context.commit('SET_MEMBER_FIRST_NAME', '');\r\n context.commit('SET_MEMBER_LAST_NAME', '');\r\n }\r\n\r\n const parsed = JSON.stringify({\r\n role: 'I',\r\n lastLoginTimestamp: new Date().toISOString(),\r\n emailAddress: loginResult.data.MemberEmailAddress,\r\n userName: loginResult.data.UserName,\r\n memberId: (loginResult.data.Members && loginResult.data.Members !== null && loginResult.data.Members.length > 0) ? loginResult.data.Members[0].MemberIDNumber : '',\r\n memberNumber: (loginResult.data.Members && loginResult.data.Members !== null && loginResult.data.Members.length > 0)\r\n ? (loginResult.data.Members[0].LongMemberNumber && loginResult.data.Members[0].LongMemberNumber !== ''\r\n ? loginResult.data.Members[0].LongMemberNumber : loginResult.data.Members[0].MemberNumber) : '',\r\n memberName: loginResult.data.MemberName,\r\n agentNumber: loginResult.data.AgentNumber,\r\n resetIndicator: (loginResult.data.PasswordResetFlag === 'True' ? !!true : false),\r\n verifiedIndicator: (loginResult.data.EmailVerified === 'True' ? !!true : false),\r\n communicationIndicator: (loginResult.data.CommunicationPreferred === 'Y' ? !!true : false),\r\n conversionIndicator: (functions.isEmailAddress(loginResult.data.UserName)\r\n ? !!false : true),\r\n delinquentIndicator: false,\r\n });\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: 'Complete', fileName: 'member.js', methodName: 'doLogin-Complete', trackerId: loginRequest.sTfbId,\r\n }, { root: true });\r\n\r\n resolve('');\r\n } else if (loginResult.data.ErrorMessage !== null || loginResult.data.ErrorMessage !== '') {\r\n resolve(loginResult.data.ErrorMessage);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n } else if (loginResult.data.ErrorMessage !== null || loginResult.data.ErrorMessage !== '') {\r\n resolve(loginResult.data.ErrorMessage);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'doLogin-Error', trackerId: loginRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n doSsoLogin(context, loginRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: `Starting login: ${loginRequest.sAccessToken}`, fileName: 'member.js', methodName: 'doSsoLogin-Begin', trackerId: loginRequest.sTfbId,\r\n }, { root: true });\r\n axios.post(`${memberAccessServiceUrl}/SSOLogin`, {\r\n AccessToken: loginRequest.sAccessToken,\r\n }, config)\r\n .then((loginResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(loginResult.data), fileName: 'member.js', methodName: 'doSsoLogin-Result', trackerId: loginRequest.sTfbId,\r\n }, { root: true });\r\n if (loginResult && loginResult.data) {\r\n if (loginResult.data.ErrorMessage === null || loginResult.data.ErrorMessage === '' || loginResult.data.ErrorMessage === 'Unable to locate agent.') {\r\n Vue.$cookies.set(tokenName, loginRequest.sAccessToken, '1d');\r\n context.commit('SET_LOGGED_IN_STATUS', true);\r\n context.commit('SET_LAST_LOGIN_TIMESTAMP', new Date().toISOString());\r\n context.commit('SET_ROLE', 'I');\r\n context.commit('SET_EMAIL_ADDRESS', loginResult.data.MemberEmailAddress);\r\n context.commit('SET_USER_NAME', loginResult.data.UserName);\r\n context.commit('SET_MEMBER_ID', loginResult.data.Members[0].MemberIDNumber);\r\n context.commit('SET_MEMBER_NUMBER', loginResult.data.Members[0].MemberNumber);\r\n context.commit('SET_RESET_INDICATOR', (loginResult.data.PasswordResetFlag === 'True' ? !!true : false));\r\n context.commit('SET_VERIFIED_INDICATOR', (loginResult.data.EmailVerified === 'True' ? !!true : false));\r\n context.commit('SET_COMMUNICATION_INDICATOR', (loginResult.data.CommunicationPreferred === 'Y' ? !!true : false));\r\n context.commit('SET_MEMBER_NAME', loginResult.data.MemberName);\r\n context.commit('SET_AGENT_NUMBER', loginResult.data.AgentNumber);\r\n context.commit('SET_MEMBER_ADDRESS', loginResult.data.MemberAddress);\r\n context.commit('SET_CONVERSION_INDICATOR', (functions.isEmailAddress(loginResult.data.UserName) ? !!false : true));\r\n\r\n if (!loginResult.data.AgentNumber || loginResult.data.AgentNumber === '' || loginResult.data.AgentNumber === null || loginResult.data.AgentNumber === '99997') {\r\n // See if we can get the agent number\r\n context.dispatch('agentcounty/getAgentCodeByMember', {\r\n sMemberNumber: loginResult.data.Members[0].MemberNumber, trackerId: loginRequest.sTfbId,\r\n }, { root: true })\r\n .then((response) => {\r\n if (response._agentCode) {\r\n // Save code\r\n context.commit('SET_AGENT_NUMBER', response._agentCode);\r\n }\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n }\r\n\r\n const memberList = [];\r\n if (loginResult.data.Members && loginResult.data.Members !== null && loginResult.data.Members.length > 0) {\r\n context.commit('SET_MEMBER_ID', loginResult.data.Members[0].MemberIDNumber);\r\n context.commit('SET_MEMBER_NUMBER', loginResult.data.Members[0].MemberNumber);\r\n\r\n for (let i = 0; i < loginResult.data.Members.length; i += 1) {\r\n const member = loginResult.data.Members[i];\r\n memberList.push({ Id: member.MemberIDNumber, Nbr: member.MemberNumber });\r\n }\r\n }\r\n context.commit('SET_MEMBER_LIST', memberList);\r\n\r\n if (loginResult.data.MemberName && loginResult.data.MemberName !== '') {\r\n const memberSplitName = loginResult.data.MemberName.split(' ');\r\n if (memberSplitName && memberSplitName.length > 0) {\r\n context.commit('SET_MEMBER_FIRST_NAME', memberSplitName[0]);\r\n context.commit('SET_MEMBER_LAST_NAME', memberSplitName[1]);\r\n } else {\r\n context.commit('SET_MEMBER_FIRST_NAME', '');\r\n context.commit('SET_MEMBER_LAST_NAME', '');\r\n }\r\n } else {\r\n context.commit('SET_MEMBER_FIRST_NAME', '');\r\n context.commit('SET_MEMBER_LAST_NAME', '');\r\n }\r\n\r\n const parsed = JSON.stringify({\r\n role: 'I',\r\n lastLoginTimestamp: new Date().toISOString(),\r\n emailAddress: loginResult.data.MemberEmailAddress,\r\n userName: loginResult.data.UserName,\r\n memberId: loginResult.data.Members[0].MemberIDNumber,\r\n memberNumber: loginResult.data.Members[0].MemberNumber,\r\n memberName: loginResult.data.MemberName,\r\n agentNumber: loginResult.data.AgentNumber,\r\n resetIndicator: (loginResult.data.PasswordResetFlag === 'True' ? !!true : false),\r\n verifiedIndicator: (loginResult.data.EmailVerified === 'True' ? !!true : false),\r\n communicationIndicator: (loginResult.data.CommunicationPreferred === 'Y' ? !!true : false),\r\n conversionIndicator: (functions.isEmailAddress(loginResult.data.UserName)\r\n ? !!false : true),\r\n delinquentIndicator: false,\r\n });\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: 'Complete', fileName: 'member.js', methodName: 'doSsoLogin-Complete', trackerId: loginRequest.sTfbId,\r\n }, { root: true });\r\n\r\n resolve('');\r\n } else if (loginResult.data.ErrorMessage !== null || loginResult.data.ErrorMessage !== '') {\r\n resolve(loginResult.data.ErrorMessage);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'doSsoLogin-Error', trackerId: loginRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n doAgentLogin(context, loginRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `Starting login for ${loginRequest.sUser}: ${loginRequest.sMemberNumber} in ${loginRequest.sCountyCode}`,\r\n fileName: 'member.js',\r\n methodName: 'doAgentLogin-Begin',\r\n trackerId: loginRequest.sTfbId,\r\n }, { root: true });\r\n axios.get(`${memberLookupAgentServiceUrl}/MemberCountyValidation/${loginRequest.sCountyCode}/${loginRequest.sMemberNumber}`, config)\r\n .then((loginResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(loginResult.data), fileName: 'member.js', methodName: 'doAgentLogin-ValidationResult', trackerId: loginRequest.sTfbId,\r\n }, { root: true });\r\n if (loginResult && loginResult.data && (loginResult.data.ErrorMessage === null || loginResult.data.ErrorMessage === '')) {\r\n Vue.$cookies.set(tokenName, loginResult.data.AccessToken, '1d');\r\n const lastLogin = new Date().toISOString();\r\n const hasUser = loginRequest.sUser && loginRequest.sUser !== null && loginRequest.sUser !== '';\r\n const agentEmailRaw = hasUser ? `${loginRequest.sUser}@txfb-ins.com` : `${loginRequest.sMemberNumber}@TXFBAgent.com`;\r\n const agentEmail = helpers.methods.replaceAll(agentEmailRaw, '@txfb-ins.com@txfb-ins.com', '@txfb-ins.com');\r\n const agentName = helpers.methods.replaceAll(agentEmail, '@txfb-ins.com', '');\r\n const memberList = [{ Id: '0', Nbr: loginRequest.sMemberNumber }];\r\n\r\n context.commit('SET_LAST_LOGIN_TIMESTAMP', lastLogin);\r\n context.commit('SET_ROLE', 'A');\r\n context.commit('SET_EMAIL_ADDRESS', agentEmail);\r\n context.commit('SET_USER_NAME', agentName);\r\n context.commit('SET_MEMBER_ID', '0');\r\n context.commit('SET_MEMBER_NUMBER', loginRequest.sMemberNumber);\r\n context.commit('SET_RESET_INDICATOR', false);\r\n context.commit('SET_VERIFIED_INDICATOR', true);\r\n context.commit('SET_COMMUNICATION_INDICATOR', false);\r\n context.commit('SET_CONVERSION_INDICATOR', false);\r\n context.commit('SET_MEMBER_LIST', memberList);\r\n\r\n config.headers.Authorization = `Bearer ${loginResult.data.AccessToken}`;\r\n axios.get(`${memberLookupServiceUrl}/basic/${loginRequest.sMemberNumber}`, config)\r\n .then((memberResults) => {\r\n if (memberResults && memberResults.data) {\r\n context.commit('SET_MEMBER_NAME', hasUser ? agentName : 'TXFB Agent');\r\n context.commit('SET_MEMBER_FIRST_NAME', hasUser ? agentName : 'TXFB');\r\n context.commit('SET_MEMBER_LAST_NAME', hasUser ? agentName : 'Agent');\r\n context.commit('SET_AGENT_NUMBER', memberResults.data.AgentCode);\r\n context.commit('SET_MEMBER_ADDRESS', memberResults.data.MemberAddress);\r\n context.commit('SET_LOGGED_IN_STATUS', true);\r\n\r\n if (!memberResults.data.AgentCode || memberResults.data.AgentCode === '' || memberResults.data.AgentCode === null || memberResults.data.AgentCode === '99997') {\r\n // See if we can get the agent number\r\n context.dispatch('agentcounty/getAgentCodeByMember', {\r\n sMemberNumber: loginRequest.sMemberNumber, trackerId: loginRequest.sTfbId,\r\n }, { root: true })\r\n .then((response) => {\r\n if (response._agentCode) {\r\n // Save code\r\n context.commit('SET_AGENT_NUMBER', response._agentCode);\r\n }\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n }\r\n\r\n const parsed = JSON.stringify({\r\n role: 'A',\r\n lastLoginTimestamp: lastLogin,\r\n emailAddress: agentEmail,\r\n userName: agentName,\r\n memberId: '0',\r\n memberNumber: loginRequest.sMemberNumber,\r\n memberName: hasUser ? agentName : '',\r\n agentNumber: memberResults.data.AgentCode,\r\n resetIndicator: false,\r\n verifiedIndicator: true,\r\n communicationIndicator: false,\r\n conversionIndicator: false,\r\n delinquentIndicator: false,\r\n });\r\n sessionStorage.setItem('tfb_insured', parsed);\r\n\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: 'Complete', fileName: 'member.js', methodName: 'doAgentLogin-Complete', trackerId: loginRequest.sTfbId,\r\n }, { root: true });\r\n\r\n resolve('');\r\n } else {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(memberResults), fileName: 'member.js', methodName: 'doAgentLogin-MemberReturnError', trackerId: loginRequest.sTfbId,\r\n }, { root: true });\r\n reject(new Error(memberResults));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'member.js', methodName: 'doAgentLogin-MemberInfoError', trackerId: loginRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n } else if (loginResult && loginResult.data && (loginResult.data.ErrorMessage !== null || loginResult.data.ErrorMessage !== '')) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: loginResult.data.ErrorMessage, fileName: 'member.js', methodName: 'doAgentLogin-ValidationReturnError', trackerId: loginRequest.sTfbId,\r\n }, { root: true });\r\n resolve(loginResult.data.ErrorMessage);\r\n } else {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: loginResult, fileName: 'member.js', methodName: 'doAgentLogin-ValidationError', trackerId: loginRequest.sTfbId,\r\n }, { root: true });\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'doAgentLogin-Error', trackerId: loginRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n doRegistrationIdVerification(context, verificationRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `Starting Verification: ${verificationRequest.sRegistrationId}`,\r\n fileName: 'member.js',\r\n methodName: 'doRegistrationIdVerification-Begin',\r\n trackerId: verificationRequest.sTfbId,\r\n }, { root: true });\r\n axios.post(`${memberLookupServiceUrl}/validate-registration`, { ValidationId: verificationRequest.sRegistrationId }, config)\r\n .then((verificationResult) => {\r\n if (verificationResult && verificationResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(verificationResult.data), fileName: 'member.js', methodName: 'doRegistrationIdVerification-Result', trackerId: verificationRequest.sTfbId,\r\n }, { root: true });\r\n\r\n resolve(verificationResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'doRegistrationIdVerification-Error', trackerId: verificationRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n doRegistration(context, registrationRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `Starting registration: ${registrationRequest.sPolicyNumber}, ${registrationRequest.sMemberNumber.toUpperCase()}, ${registrationRequest.sUserName.toLowerCase()}`,\r\n fileName: 'member.js',\r\n methodName: 'doRegistration-Begin',\r\n trackerId: registrationRequest.sTfbId,\r\n }, { root: true });\r\n axios.post(`${memberAccessServiceUrl}/SecureRegistration`, {\r\n CommunicationOption: registrationRequest.sCommunication,\r\n EmailAddress: registrationRequest.sUserName.toLowerCase(),\r\n Password: registrationRequest.sPassword,\r\n PolicyNumber: registrationRequest.sPolicyNumber,\r\n MemberNumber: registrationRequest.sMemberNumber.toUpperCase(),\r\n }, config)\r\n .then((registrationResult) => {\r\n if (registrationResult && registrationResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(registrationResult.data), fileName: 'member.js', methodName: 'doRegistration-Result', trackerId: registrationRequest.sTfbId,\r\n }, { root: true });\r\n\r\n if (!registrationResult.data.ErrorMessage || (registrationResult.data.ErrorMessage && (registrationResult.data.ErrorMessage === null || registrationResult.data.ErrorMessage === ''))) {\r\n resolve(context.dispatch('doLogin', {\r\n sUserName: registrationRequest.sUserName,\r\n sPassword: registrationRequest.sPassword,\r\n sCatchaText: 'kQMSVtPlYECzM1IX8WibEg',\r\n sTfbId: registrationRequest.sTfbId,\r\n }));\r\n } else if (registrationResult.data.ErrorMessage && (registrationResult.data.ErrorMessage !== null || registrationResult.data.ErrorMessage !== '')) {\r\n resolve(registrationResult.data.ErrorMessage);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'doRegistration-Error', trackerId: registrationRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n doLogout(context) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${memberAccessServiceUrl}/Logout`, ssoToken, config)\r\n .then(() => {\r\n // Remove the cookies\r\n Vue.$cookies.remove(tokenName);\r\n context.commit('CLEAR_GUIDEWIRE_TOKEN', null);\r\n\r\n // Clear the session storage\r\n sessionStorage.removeItem('tfb_insured');\r\n sessionStorage.removeItem('tfb_members');\r\n // Reset the contact list\r\n context.commit('SET_CONTACT_LIST', null);\r\n\r\n // Clear values and reset the policy state\r\n context.commit('policy/CLEAR_ACCOUNT_SUMMARY', {}, { root: true });\r\n context.commit('policy/CLEAR_HAS_GUIDEWIRE_LEGACY', {}, { root: true });\r\n context.commit('policy/RESET_STATE', {}, { root: true });\r\n // Clear values and reset the payment state\r\n context.commit('payments/CLEAR_ACCOUNT_BILL_SUMMARY', {}, { root: true });\r\n context.commit('payments/RESET_STATE', {}, { root: true });\r\n // Reset the member state\r\n context.commit('RESET_STATE');\r\n\r\n resolve('');\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n doForgotPassword(context, resetRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: `Starting password reset: ${resetRequest.sUserName}`, fileName: 'member.js', methodName: 'doForgotPassword-Begin', trackerId: resetRequest.sTfbId,\r\n }, { root: true });\r\n axios.get(`${memberAccessServiceUrl}/ForgotPassword/${resetRequest.sUserName}`, config)\r\n .then((resetResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(resetResult.data), fileName: 'member.js', methodName: 'doForgotPassword-Result', trackerId: resetRequest.sTfbId,\r\n }, { root: true });\r\n if (resetResult && resetResult.data && (resetResult.data.ErrorMessage === null || resetResult.data.ErrorMessage === '')) {\r\n resolve(resetResult.data.ReturnMessage);\r\n } else if (resetResult && resetResult.data && (resetResult.data.ErrorMessage !== null || resetResult.data.ErrorMessage !== '')) {\r\n resolve(resetResult.data.ErrorMessage);\r\n }\r\n\r\n reject(new Error(genericErrorMessage));\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'doForgotPassword-Error', trackerId: resetRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n doIdConversion(context, convertRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `Convert: ${convertRequest.sOldUserName} to ${convertRequest.sNewUserName}`,\r\n fileName: 'member.js',\r\n methodName: 'doIdConversion-Begin',\r\n trackerId: convertRequest.sTfbId,\r\n }, { root: true });\r\n const memberList = [];\r\n const tfbMembers = sessionStorage.getItem('tfb_members');\r\n const tfbParsedMembers = JSON.parse(tfbMembers);\r\n if (tfbParsedMembers && tfbParsedMembers.length > 0) {\r\n for (let i = 0; i < tfbParsedMembers.length; i += 1) {\r\n const member = tfbParsedMembers[i];\r\n memberList.push(member.Nbr);\r\n }\r\n }\r\n axios.post(`${memberAccessServiceUrl}/SendMultipleEmailVerification`, {\r\n NewUserName: convertRequest.sNewUserName,\r\n OldUserName: convertRequest.sOldUserName,\r\n MembershipArray: memberList,\r\n }, config)\r\n .then((convertResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(convertResult.data), fileName: 'member.js', methodName: 'doIdConversion-Result', trackerId: convertRequest.sTfbId,\r\n }, { root: true });\r\n if (convertResult && convertResult.data && (convertResult.data.ErrorMessage === null || convertResult.data.ErrorMessage === '')) {\r\n resolve(convertResult.data.ReturnMessage);\r\n } else if (convertResult && convertResult.data && (convertResult.data.ErrorMessage !== null || convertResult.data.ErrorMessage !== '')) {\r\n reject(convertResult.data.ErrorMessage);\r\n }\r\n\r\n reject(new Error(genericErrorMessage));\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'doIdConversion-Error', trackerId: convertRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n doEmailVerification(context, verifyRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: `Starting email verification: ${verifyRequest.sValidationCode}`, fileName: 'member.js', methodName: 'doEmailVerification-Begin', trackerId: verifyRequest.sTfbId,\r\n }, { root: true });\r\n axios.get(`${memberAccessServiceUrl}/UpdateMultipleEmailVerification/${verifyRequest.sValidationCode}`, config)\r\n .then((updateResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(updateResult.data), fileName: 'member.js', methodName: 'doEmailVerification-Result', trackerId: verifyRequest.sTfbId,\r\n }, { root: true });\r\n if (updateResult && updateResult.data && (updateResult.data.ErrorMessage === null || updateResult.data.ErrorMessage === '')) {\r\n if (updateResult.data.Verified === 'Y') {\r\n context.commit('SET_VERIFIED_INDICATOR', true);\r\n }\r\n if (updateResult.data.EmailUpdate !== null && updateResult.data.EmailUpdate !== '') {\r\n context.commit('SET_EMAIL_ADDRESS', updateResult.data.EmailUpdate);\r\n context.commit('SET_USER_NAME', updateResult.data.EmailUpdate);\r\n }\r\n resolve(updateResult.data);\r\n } else if (updateResult && updateResult.data && (updateResult.data.ErrorMessage !== null || updateResult.data.ErrorMessage !== '')) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: new Error(updateResult.data.ErrorMessage),\r\n fileName: 'member.js',\r\n methodName: 'doEmailVerification-ErrorMsg',\r\n trackerId: verifyRequest.sTfbId,\r\n }, { root: true });\r\n reject(new Error(updateResult.data.ErrorMessage));\r\n }\r\n\r\n reject(new Error(genericErrorMessage));\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'doEmailVerification-Error', trackerId: verifyRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n doPasswordVerification(context, verifyRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: `Starting reset password: ${verifyRequest.sValidationCode}`, fileName: 'member.js', methodName: 'doPasswordVerification-Begin', trackerId: verifyRequest.sTfbId,\r\n }, { root: true });\r\n axios.post(`${memberAccessServiceUrl}/ForgotPassword/Verify`, {\r\n EmailAddress: verifyRequest.sEmailAddress,\r\n VerificationCode: verifyRequest.sValidationCode,\r\n }, config)\r\n .then((updateResult) => {\r\n if (updateResult && updateResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(updateResult.data), fileName: 'member.js', methodName: 'doPasswordVerification-Result', trackerId: verifyRequest.sTfbId,\r\n }, { root: true });\r\n if (updateResult.data.ErrorMessage && (updateResult.data.ErrorMessage !== null || updateResult.data.ErrorMessage !== '')) {\r\n console.log(updateResult.data.ErrorMessage);\r\n reject(new Error(updateResult.data.ErrorMessage));\r\n } else if (updateResult.data.MembershipArray !== null || updateResult.data.MembershipArray.length > 0) {\r\n const finalMemberList = [];\r\n for (let i = 0; i < updateResult.data.MembershipArray.length; i += 1) {\r\n const member = updateResult.data.MembershipArray[i];\r\n finalMemberList.push({ Id: i, Nbr: member.trim() });\r\n }\r\n context.commit('SET_MEMBER_LIST', finalMemberList);\r\n resolve(updateResult.data);\r\n }\r\n }\r\n\r\n reject(new Error(genericErrorMessage));\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'doPasswordVerification-Error', trackerId: verifyRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n doPhoneVerification(context, verifyRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${memberLookupServiceUrl}/phone/verify/${verifyRequest.sVerificationCode}`, config)\r\n .then((checkResults) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(checkResults.data), fileName: 'member.js', methodName: 'doPhoneVerification-Result', trackerId: verifyRequest.sTfbId,\r\n }, { root: true });\r\n resolve(checkResults.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n resendRegistration(context, registrationRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `Resending Registration: ${registrationRequest.sMemberNumber}, ${registrationRequest.sPolicyNumber}, ${registrationRequest.sUserName}`,\r\n fileName: 'member.js',\r\n methodName: 'resendRegistration-Begin',\r\n trackerId: registrationRequest.sTfbId,\r\n }, { root: true });\r\n axios.post(`${memberAccessServiceUrl}/registration/resend`, {\r\n CommunicationOption: '',\r\n EmailAddress: registrationRequest.sUserName,\r\n Password: '',\r\n PolicyNumber: registrationRequest.sPolicyNumber,\r\n MemberNumber: registrationRequest.sMemberNumber,\r\n }, config)\r\n .then((registrationResult) => {\r\n if (registrationResult && registrationResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(registrationResult.data), fileName: 'member.js', methodName: 'resendRegistration-Result', trackerId: registrationRequest.sTfbId,\r\n }, { root: true });\r\n\r\n if (!registrationResult.data.ErrorMessage || (registrationResult.data.ErrorMessage && (registrationResult.data.ErrorMessage === null || registrationResult.data.ErrorMessage === ''))) {\r\n resolve('');\r\n } else if (registrationResult.data.ErrorMessage && (registrationResult.data.ErrorMessage !== null || registrationResult.data.ErrorMessage !== '')) {\r\n resolve(registrationResult.data.ErrorMessage);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'resendRegistration-Error', trackerId: registrationRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n createCloudPaymentUrl(context, cloudPaymentRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `Starting getCloudPaymentUrl: ${cloudPaymentRequest.sAccountNumber}, ${cloudPaymentRequest.sInvoiceNumber}`,\r\n fileName: 'member.js',\r\n methodName: 'getCloudPaymentUrl-Begin',\r\n trackerId: cloudPaymentRequest.sTfbId,\r\n }, { root: true });\r\n\r\n if (cloudPaymentRequest.sAccountNumber && cloudPaymentRequest.sAccountNumber !== null && cloudPaymentRequest.sAccountNumber !== '') {\r\n let serviceUrl = `${memberAccessServiceUrl}/cloud-payment/${cloudPaymentRequest.sAccountNumber}`;\r\n\r\n if (cloudPaymentRequest.sInvoiceNumber && cloudPaymentRequest.sInvoiceNumber !== undefined && cloudPaymentRequest.sInvoiceNumber !== null && cloudPaymentRequest.sInvoiceNumber !== '') {\r\n serviceUrl = `${memberAccessServiceUrl}/cloud-payment/${cloudPaymentRequest.sAccountNumber}/${cloudPaymentRequest.sInvoiceNumber}`;\r\n }\r\n\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `Going to: ${serviceUrl}`,\r\n fileName: 'member.js',\r\n methodName: 'getCloudPaymentUrl-Call',\r\n trackerId: cloudPaymentRequest.sTfbId,\r\n }, { root: true });\r\n\r\n axios.get(serviceUrl, config)\r\n .then((cloudPaymentResult) => {\r\n if (cloudPaymentResult && cloudPaymentResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(cloudPaymentResult.data), fileName: 'member.js', methodName: 'getCloudPaymentUrl-Result', trackerId: cloudPaymentRequest.sTfbId,\r\n }, { root: true });\r\n\r\n resolve(cloudPaymentResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'getCloudPaymentUrl-Error', trackerId: cloudPaymentRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n } else {\r\n resolve('');\r\n }\r\n });\r\n },\r\n updatePassword(context, updateRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: `Starting password update: ${updateRequest.sUserName}`, fileName: 'member.js', methodName: 'updatePassword-Begin', trackerId: updateRequest.sTfbId,\r\n }, { root: true });\r\n const memberList = [];\r\n let username = updateRequest.sUserName;\r\n if (!updateRequest.sMemberList || updateRequest.sMemberList === null || updateRequest.sMemberList.length <= 0) {\r\n const tfbMembers = sessionStorage.getItem('tfb_members');\r\n const tfbParsedMembers = JSON.parse(tfbMembers);\r\n if (tfbParsedMembers && tfbParsedMembers.length > 0) {\r\n for (let i = 0; i < tfbParsedMembers.length; i += 1) {\r\n const member = tfbParsedMembers[i];\r\n memberList.push(member.Nbr);\r\n }\r\n }\r\n } else {\r\n for (let i = 0; i < updateRequest.sMemberList.length; i += 1) {\r\n const member = updateRequest.sMemberList[i];\r\n memberList.push(member.Nbr);\r\n }\r\n }\r\n\r\n if (!updateRequest.sUserName || updateRequest.sUserName === null || updateRequest.sUserName === '') {\r\n username = state.emailAddress;\r\n }\r\n\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${memberAccessServiceUrl}/UpdateMemberSecurePassword`, {\r\n MemberId: 0, // updateRequest.sMemberId,\r\n UserName: username,\r\n NewPassword: updateRequest.sNewPassword,\r\n MembershipArray: memberList,\r\n }, config)\r\n .then((updateResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(updateResult.data), fileName: 'member.js', methodName: 'updatePassword-Result', trackerId: updateRequest.sTfbId,\r\n }, { root: true });\r\n if (updateResult && updateResult.data && (updateResult.data.ErrorMessage === null || updateResult.data.ErrorMessage === '')) {\r\n resolve(updateResult.data.ReturnMessage);\r\n } else if (updateResult && updateResult.data && (updateResult.data.ErrorMessage !== null || updateResult.data.ErrorMessage !== '')) {\r\n resolve(updateResult.data.ErrorMessage);\r\n }\r\n\r\n reject(new Error(genericErrorMessage));\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'updatePassword-Error', trackerId: updateRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n updateCommunication(context, updateRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: `Starting communication update: ${updateRequest.sUserName}`, fileName: 'member.js', methodName: 'updateCommunication-Begin', trackerId: updateRequest.sTfbId,\r\n }, { root: true });\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${memberAccessServiceUrl}/UpdateMemberCommPref`, {\r\n UserName: updateRequest.sUserName,\r\n MemberNumber: updateRequest.sMemberNumber,\r\n RequestsCommunication: updateRequest.sPreference === 'Y',\r\n }, config)\r\n .then((updateResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(updateResult.data), fileName: 'member.js', methodName: 'updateCommunication-Result', trackerId: updateRequest.sTfbId,\r\n }, { root: true });\r\n if (updateResult && updateResult.data) {\r\n context.commit('SET_COMMUNICATION_INDICATOR', (updateRequest.sPreference === 'Y'));\r\n resolve('');\r\n }\r\n\r\n reject(new Error(genericErrorMessage));\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'updateCommunication-Error', trackerId: updateRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n updateEmailAddress(context, updateRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(updateRequest), fileName: 'member.js', methodName: 'updateEmailAddress-Begin', trackerId: updateRequest.sTfbId,\r\n }, { root: true });\r\n let memberNumber = null;\r\n\r\n if (updateRequest.sIncludeAllMembers === false) {\r\n // eslint-disable-next-line prefer-destructuring\r\n memberNumber = context.state.memberNumber;\r\n }\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${memberAccessServiceUrl}/SendMultipleEmailVerification`, {\r\n NewUserName: updateRequest.sNewEmailAddress,\r\n OldUserName: updateRequest.sOldEmailAddress,\r\n MemberNumber: memberNumber,\r\n }, config)\r\n .then((updateResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(updateResult.data), fileName: 'member.js', methodName: 'updateEmailAddress-Result', trackerId: updateRequest.sTfbId,\r\n }, { root: true });\r\n if (updateResult && updateResult.data && (updateResult.data.ErrorMessage === null || updateResult.data.ErrorMessage === '')) {\r\n resolve(updateResult.data.ReturnMessage);\r\n } else if (updateResult && updateResult.data && (updateResult.data.ErrorMessage !== null || updateResult.data.ErrorMessage !== '')) {\r\n reject(new Error(updateResult.data.ErrorMessage));\r\n }\r\n\r\n reject(new Error(genericErrorMessage));\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'updateEmailAddress-Error', trackerId: updateRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n updatePhoneNumber(context, updateRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(updateRequest), fileName: 'member.js', methodName: 'updatePhoneNumber-Begin', trackerId: updateRequest.sTfbId,\r\n }, { root: true });\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${memberLookupServiceUrl}/phone/modify`, {\r\n MemberNumber: updateRequest.sMemberNumber,\r\n MiraId: updateRequest.sMiraId,\r\n PhoneNumber: helpers.methods.removePhoneFormatting(updateRequest.sPhoneNumber),\r\n }, config)\r\n .then((updateResult) => {\r\n // // Clear out the contacts so we can fetch the latest\r\n // context.commit('SET_CONTACT_LIST', null);\r\n // // Clear out the summaries so we can fetch the latest E-bill\r\n // context.commit('policy/CLEAR_ACCOUNT_SUMMARY', {}, { root: true });\r\n // context.commit('payments/CLEAR_ACCOUNT_BILL_SUMMARY', {}, { root: true });\r\n // Fetch the updated policies/Account Bill\r\n context.dispatch('policy/getAccountSummary', { sMemberNumber: updateRequest.sMemberNumber, sTfbId: updateRequest.sTfbId }, { root: true });\r\n context.dispatch('payments/getAccountBillInformation', { sMemberNumber: updateRequest.sMemberNumber, sTfbId: updateRequest.sTfbId }, { root: true });\r\n // Fetch the updated phone list\r\n context.dispatch('getPhoneNumbers', { sMemberNumber: updateRequest.sMemberNumber, sTfbId: updateRequest.sTfbId })\r\n .then(() => {\r\n resolve(updateResult.data);\r\n });\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'updatePhoneNumber-Error', trackerId: updateRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n sendEmailVerification(context, updateRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: `Send email verification: ${updateRequest.sEmailAddress}`, fileName: 'member.js', methodName: 'sendEmailVerification-Begin', trackerId: updateRequest.sTfbId,\r\n }, { root: true });\r\n\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${memberAccessServiceUrl}/SendMultipleEmailVerification`, {\r\n NewUserName: '',\r\n OldUserName: updateRequest.sEmailAddress,\r\n MemberNumber: null,\r\n }, config)\r\n .then((updateResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(updateResult.data), fileName: 'member.js', methodName: 'sendEmailVerification-Result', trackerId: updateRequest.sTfbId,\r\n }, { root: true });\r\n if (updateResult && updateResult.data && (updateResult.data.ErrorMessage === null || updateResult.data.ErrorMessage === '')) {\r\n resolve(updateResult.data.ReturnMessage);\r\n } else if (updateResult && updateResult.data && (updateResult.data.ErrorMessage !== null || updateResult.data.ErrorMessage !== '')) {\r\n reject(new Error(updateResult.data.ErrorMessage));\r\n }\r\n\r\n reject(new Error(genericErrorMessage));\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'sendEmailVerification-Error', trackerId: updateRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n sendPhoneVerification(context, updateRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `Send phone verification: ${helpers.methods.removePhoneFormatting(updateRequest.sPhoneNumber)}`,\r\n fileName: 'member.js',\r\n methodName: 'sendPhoneVerification-Begin',\r\n trackerId: updateRequest.sTfbId,\r\n }, { root: true });\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${memberLookupServiceUrl}/phone/verify`, {\r\n MemberNumber: updateRequest.sMemberNumber,\r\n MiraId: updateRequest.sMiraId,\r\n OnlineAccountId: updateRequest.sOnlineAccountId,\r\n PhoneNumber: helpers.methods.removePhoneFormatting(updateRequest.sPhoneNumber),\r\n }, config)\r\n .then((updateResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(updateResult.data), fileName: 'member.js', methodName: 'sendPhoneVerification-Result', trackerId: updateRequest.sTfbId,\r\n }, { root: true });\r\n resolve(updateResult.data);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'sendPhoneVerification-Error', trackerId: updateRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n delinquentMemberCheck(context, sRequest) {\r\n if (context.state.delinquentIndicator && context.state.delinquentIndicator !== null) {\r\n return context.state.delinquentIndicator;\r\n }\r\n return new Promise((resolve, reject) => {\r\n if (!sRequest || !sRequest.sMemberNumber || sRequest.sMemberNumber === '' || sRequest.sMemberNumber === null) {\r\n resolve(false);\r\n }\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${memberLookupServiceUrl}/delinquent/${sRequest.sMemberNumber}`, config)\r\n .then((checkResults) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(checkResults.data), fileName: 'member.js', methodName: 'delinquentMemberCheck-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n context.commit('SET_DELINQUENT_INDICATOR', checkResults.data);\r\n resolve(checkResults.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getGenders() {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${memberLookupServiceUrl}/lookup/genders`, config)\r\n .then((genderResults) => {\r\n resolve(genderResults.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getMemberInformation(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${memberLookupServiceUrl}/basic/${sRequest.sMemberNumber}`, config)\r\n .then((checkResults) => {\r\n resolve(checkResults.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getPhoneNumbers(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${memberLookupServiceUrl}/contacts/${sRequest.sMemberNumber}`, config)\r\n .then((contactResults) => {\r\n // console.log(contactResults.data);\r\n context.commit('SET_CONTACT_LIST', contactResults.data);\r\n resolve(contactResults.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getRelationships() {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${memberLookupServiceUrl}/lookup/relationships`, config)\r\n .then((relationshipResults) => {\r\n resolve(relationshipResults.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n addContact(context, addRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: `Starting add contact: ${addRequest.sMemberNumber}`, fileName: 'member.js', methodName: 'addContact-Begin', trackerId: addRequest.sTfbId,\r\n }, { root: true });\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${memberLookupServiceUrl}/contacts/add`, {\r\n MemberNumber: addRequest.sMemberNumber,\r\n FirstName: addRequest.sFirstName,\r\n LastName: addRequest.sLastName,\r\n RelationshipId: addRequest.sRelationship,\r\n GenderId: addRequest.sGender,\r\n BirthDate: addRequest.sDateOfBirth,\r\n PhoneNumber: helpers.methods.removePhoneFormatting(addRequest.sPhoneNumber),\r\n }, config)\r\n .then((contactResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(contactResult.data), fileName: 'member.js', methodName: 'addContact-Result', trackerId: addRequest.sTfbId,\r\n }, { root: true });\r\n\r\n if (contactResult.data !== null) {\r\n context.commit('SET_CONTACT_LIST', contactResult.data);\r\n resolve('');\r\n } else {\r\n reject(new Error('Unable to save contact. Please verify the entered information and try again.'));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'addContact-Error', trackerId: addRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n addNewMembership(context, addRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: `Starting add membership: ${addRequest.sUserName}`, fileName: 'member.js', methodName: 'addNewMembership-Begin', trackerId: addRequest.sTfbId,\r\n }, { root: true });\r\n const memberList = [];\r\n const tfbMembers = sessionStorage.getItem('tfb_members');\r\n const tfbParsedMembers = JSON.parse(tfbMembers);\r\n for (let i = 0; i < tfbParsedMembers.length; i += 1) {\r\n const member = tfbParsedMembers[i];\r\n memberList.push(member.Lng);\r\n }\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${memberAccessServiceUrl}/AddAdditionalMembership`, {\r\n MemberId: context.state.memberId,\r\n PolicyNumber: addRequest.sPolicyNumber,\r\n MemberNumber: addRequest.sMemberNumber,\r\n MembershipArray: memberList,\r\n }, config)\r\n .then((additionResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(additionResult.data), fileName: 'member.js', methodName: 'addNewMembership-Result', trackerId: addRequest.sTfbId,\r\n }, { root: true });\r\n\r\n if (additionResult.data.ErrorMessage === null || additionResult.data.ErrorMessage === '') {\r\n const lastLogin = new Date().toISOString();\r\n context.commit('SET_LAST_LOGIN_TIMESTAMP', lastLogin);\r\n context.commit('SET_MEMBER_ID', additionResult.data.Member.MemberIdNumber);\r\n context.commit('SET_MEMBER_NUMBER', additionResult.data.Member.MemberNumber);\r\n\r\n // Valid addition, add the new membership to the array\r\n tfbParsedMembers.push({\r\n Id: additionResult.data.Member.MemberIdNumber, Nbr: additionResult.data.Member.MemberNumber,\r\n });\r\n\r\n // Reorder the memberships\r\n const sortedMembers = _.orderBy(tfbParsedMembers, ['Nbr'], ['desc']);\r\n context.commit('SET_MEMBER_LIST', sortedMembers);\r\n\r\n // Remove the previous Account/Account Bill Summary\r\n context.commit('policy/CLEAR_ACCOUNT_SUMMARY', {}, { root: true });\r\n context.commit('payments/CLEAR_ACCOUNT_BILL_SUMMARY', {}, { root: true });\r\n\r\n // Clear other saved information\r\n context.commit('SET_CONTACT_LIST', null);\r\n\r\n // Get member information\r\n context.dispatch('getMemberInformation', { sMemberNumber: additionResult.data.Member.MemberNumber, sTfbId: addRequest.sTfbId })\r\n .then((memberResults) => {\r\n if (memberResults && (!memberResults.ErrorMessage || memberResults.ErrorMessage === null || memberResults.ErrorMessage === '')) {\r\n // Rebuild session\r\n context.commit('SET_MEMBER_NAME', memberResults.PrimaryMemberName);\r\n context.commit('SET_AGENT_NUMBER', memberResults.AgentCode);\r\n context.commit('SET_MEMBER_ADDRESS', memberResults.MemberAddress);\r\n\r\n if (!memberResults.AgentCode || memberResults.AgentCode === '' || memberResults.AgentCode === null || memberResults.AgentCode === '99997') {\r\n // See if we can get the agent number\r\n context.dispatch('agentcounty/getAgentCodeByMember', {\r\n sMemberNumber: additionResult.data.Member.MemberNumber, trackerId: addRequest.sTfbId,\r\n }, { root: true })\r\n .then((response) => {\r\n if (response._agentCode) {\r\n // Save code\r\n context.commit('SET_AGENT_NUMBER', response._agentCode);\r\n }\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n }\r\n\r\n if (memberResults.PrimaryMemberName && memberResults.PrimaryMemberName !== '') {\r\n const memberSplitName = memberResults.PrimaryMemberName.split(' ');\r\n if (memberSplitName && memberSplitName.length > 0) {\r\n context.commit('SET_MEMBER_FIRST_NAME', memberSplitName[0]);\r\n context.commit('SET_MEMBER_LAST_NAME', memberSplitName[1]);\r\n } else {\r\n context.commit('SET_MEMBER_FIRST_NAME', '');\r\n context.commit('SET_MEMBER_LAST_NAME', '');\r\n }\r\n } else {\r\n context.commit('SET_MEMBER_FIRST_NAME', '');\r\n context.commit('SET_MEMBER_LAST_NAME', '');\r\n }\r\n\r\n resolve('');\r\n } else {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(memberResults), fileName: 'member.js', methodName: 'addNewMembership-MemberReturnError', trackerId: addRequest.sTfbId,\r\n }, { root: true });\r\n context.commit('SET_MEMBER_NAME', '');\r\n context.commit('SET_AGENT_NUMBER', '');\r\n context.commit('SET_MEMBER_ADDRESS', null);\r\n context.commit('SET_MEMBER_FIRST_NAME', '');\r\n context.commit('SET_MEMBER_LAST_NAME', '');\r\n resolve('');\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'member.js', methodName: 'addNewMembership-Error', trackerId: addRequest.sTfbId,\r\n }, { root: true });\r\n context.commit('SET_MEMBER_NAME', '');\r\n context.commit('SET_AGENT_NUMBER', '');\r\n context.commit('SET_MEMBER_ADDRESS', null);\r\n context.commit('SET_MEMBER_FIRST_NAME', '');\r\n context.commit('SET_MEMBER_LAST_NAME', '');\r\n resolve('');\r\n });\r\n } else {\r\n reject(new Error(additionResult.data.ErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'addNewMembership-Error', trackerId: addRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n removeMembership(context, removeRequest) {\r\n return new Promise((resolve, reject) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: `Starting remove membership: ${removeRequest.sMemberNumber}`, fileName: 'member.js', methodName: 'removeMembership-Begin', trackerId: removeRequest.sTfbId,\r\n }, { root: true });\r\n const memberList = [];\r\n const tfbMembers = sessionStorage.getItem('tfb_members');\r\n const tfbParsedMembers = JSON.parse(tfbMembers);\r\n for (let i = 0; i < tfbParsedMembers.length; i += 1) {\r\n const member = tfbParsedMembers[i];\r\n memberList.push(member.Lng);\r\n }\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${memberAccessServiceUrl}/RemoveMembership`, {\r\n MemberId: removeRequest.sMemberId,\r\n MemberNumber: removeRequest.sMemberNumber,\r\n MembershipArray: memberList,\r\n }, config)\r\n .then((additionResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(additionResult.data), fileName: 'member.js', methodName: 'removeMembership-Result', trackerId: removeRequest.sTfbId,\r\n }, { root: true });\r\n\r\n if (additionResult.data) {\r\n // Remove the request\r\n context.commit('SET_REMOVE_MEMBER_REQUEST', null);\r\n\r\n // Remove the membership from the array\r\n const tfbFilteredMembers = [];\r\n\r\n for (let i = 0; i < tfbParsedMembers.length; i += 1) {\r\n const member = tfbParsedMembers[i];\r\n if (member.Lng !== removeRequest.sMemberNumber) {\r\n tfbFilteredMembers.push(member);\r\n }\r\n }\r\n\r\n // Save the remaining\r\n context.commit('SET_MEMBER_LIST', tfbFilteredMembers);\r\n resolve('');\r\n }\r\n\r\n reject(new Error(genericErrorMessage));\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'member.js', methodName: 'removeMembership-Error', trackerId: removeRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n switchMembership(context, switchRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n // Get member information\r\n context.dispatch('getMemberInformation', { sMemberNumber: switchRequest.sMemberNumber, sTfbId: switchRequest.sTfbId })\r\n .then((memberResults) => {\r\n if (memberResults) {\r\n // Update last login\r\n axios.get(`${memberAccessServiceUrl}/UpdateLastLogon/${switchRequest.sMemberId}`, config)\r\n .then(() => {\r\n const lastLogin = new Date().toISOString();\r\n context.commit('CLEAR_GUIDEWIRE_TOKEN', null);\r\n\r\n // Remove the previous Account/Account Bill Summary\r\n context.commit('policy/CLEAR_ACCOUNT_SUMMARY', {}, { root: true });\r\n context.commit('payments/CLEAR_ACCOUNT_BILL_SUMMARY', {}, { root: true });\r\n // Reset the contact list\r\n context.commit('SET_CONTACT_LIST', null);\r\n\r\n // Rebuild session\r\n context.commit('SET_LAST_LOGIN_TIMESTAMP', lastLogin);\r\n context.commit('SET_MEMBER_ID', switchRequest.sMemberId);\r\n context.commit('SET_MEMBER_NUMBER', switchRequest.sMemberNumber);\r\n context.commit('SET_MEMBER_NAME', memberResults.PrimaryMemberName);\r\n context.commit('SET_AGENT_NUMBER', memberResults.AgentCode);\r\n context.commit('SET_MEMBER_ADDRESS', memberResults.MemberAddress);\r\n\r\n // Get InvoiceCloud token\r\n axios.post(`${memberAccessServiceUrl}/invoice-cloud/token`, {\r\n MemberNumber: switchRequest.sMemberNumber,\r\n EmailAddress: context.state.emailAddress,\r\n EncryptedPassword: '',\r\n }, config)\r\n .then((tokenResult) => {\r\n if (tokenResult && tokenResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(tokenResult.data), fileName: 'member.js', methodName: 'getICToken-Result', trackerId: switchRequest.sTfbId,\r\n }, { root: true });\r\n\r\n context.commit('SET_INVOICE_CLOUD_TOKEN', tokenResult.data);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'member.js', methodName: 'getCloudPaymentUrl-Error', trackerId: switchRequest.sTfbId,\r\n }, { root: true });\r\n });\r\n\r\n if (!memberResults.AgentCode || memberResults.AgentCode === '' || memberResults.AgentCode === null || memberResults.AgentCode === '99997') {\r\n // See if we can get the agent number\r\n context.dispatch('agentcounty/getAgentCodeByMember', {\r\n sMemberNumber: switchRequest.sMemberNumber, trackerId: switchRequest.sTfbId,\r\n }, { root: true })\r\n .then((response) => {\r\n if (response._agentCode) {\r\n // Save code\r\n context.commit('SET_AGENT_NUMBER', response._agentCode);\r\n }\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n }\r\n\r\n if (memberResults.PrimaryMemberName && memberResults.PrimaryMemberName !== '') {\r\n const memberSplitName = memberResults.PrimaryMemberName.split(' ');\r\n if (memberSplitName && memberSplitName.length > 0) {\r\n context.commit('SET_MEMBER_FIRST_NAME', memberSplitName[0]);\r\n context.commit('SET_MEMBER_LAST_NAME', memberSplitName[1]);\r\n } else {\r\n context.commit('SET_MEMBER_FIRST_NAME', '');\r\n context.commit('SET_MEMBER_LAST_NAME', '');\r\n }\r\n } else {\r\n context.commit('SET_MEMBER_FIRST_NAME', '');\r\n context.commit('SET_MEMBER_LAST_NAME', '');\r\n }\r\n\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'member.js', methodName: 'switchMembership.UpdateLastLogon-Error', trackerId: switchRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n } else {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(memberResults), fileName: 'member.js', methodName: 'switchMembership-MemberReturnError', trackerId: switchRequest.sTfbId,\r\n }, { root: true });\r\n reject(new Error(memberResults));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'member.js', methodName: 'switchMembership-Error', trackerId: switchRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations,\r\n};\r\n","import Vue from 'vue';\r\nimport axios from 'axios';\r\nimport { format } from 'date-fns';\r\nimport helpers from '../../mixins/helpers';\r\nimport { genericErrorMessage } from '../../mixins/errorMessages';\r\n\r\nconst paymentLookupServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/TFBIC.Services.RESTPayments.Lookup`;\r\nconst paymentModifyServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/TFBIC.Services.RESTPayments.Modify`;\r\n\r\nconst tokenName = process.env.VUE_APP_WEB_ENV !== 'PROD' ? `tfb_${process.env.VUE_APP_WEB_ENV}_token` : 'tfb_token';\r\n\r\nconst config = {\r\n crossdomain: true,\r\n withCredentials: true,\r\n headers: { 'Access-Control-Allow-Origin': '*', Accept: 'application/json; odata=verbose', 'Content-Type': 'application/json; odata=verbose' },\r\n};\r\n\r\n/**\r\n * accountBillSummaryTransform\r\n * @param {object} accountBillData JSON object of Account Bill data\r\n * @returns {object} JSON object of formatted policy data\r\n */\r\nfunction accountBillSummaryTransform(accountBillSummary, context, tfbId) {\r\n try {\r\n const abFiltered = [];\r\n // console.log( accountBillSummary );\r\n if (accountBillSummary) {\r\n // Filter out the duplicate master account numbers\r\n for (let i = 0, l = accountBillSummary.length; i < l; i += 1) {\r\n let unique = true;\r\n for (let j = 0, k = abFiltered.length; j < k; j += 1) {\r\n if (accountBillSummary[i].MasterAccountNumber === abFiltered[j].MasterAccountNumber) {\r\n unique = false;\r\n }\r\n }\r\n if (unique) {\r\n abFiltered.push(accountBillSummary[i]);\r\n }\r\n }\r\n\r\n // Loop through the filtered master account numbers to build/format the details\r\n for (let a = 0; a < abFiltered.length; a += 1) {\r\n const accountBill = abFiltered[a];\r\n accountBill.Description = 'Master Account';\r\n // accountBill.DetailPath = 'account-bill';\r\n accountBill.DetailPath = '';\r\n accountBill.PolicyType = 'AB';\r\n accountBill.PolicySubType = '0';\r\n accountBill.IconPath = `${process.env.VUE_APP_ROOT_URI}/publishingimages/policy-icons/misc.png`;\r\n accountBill.CurrentAmountDue = accountBill.CurrentAmountDue.toString();\r\n accountBill.RemainingAmountDue = accountBill.RemainingAmountDue.toString();\r\n\r\n if (accountBill.PaymentRestriction === '0' || accountBill.PaymentRestriction === 0) {\r\n accountBill.PaymentRestriction = 'NoRestriction';\r\n } else {\r\n accountBill.PaymentRestriction = 'NoPaymentAllowed';\r\n }\r\n\r\n if (accountBill.RecurringPaymentStatus === 'Y') {\r\n accountBill.CurrentRecurring = 'CHANGE';\r\n } else {\r\n accountBill.CurrentRecurring = 'SIGNUP';\r\n }\r\n }\r\n }\r\n\r\n return abFiltered;\r\n } catch (error) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'payments.js', methodName: 'accountBillSummaryTransform', trackerId: tfbId,\r\n }, { root: true });\r\n return accountBillSummary;\r\n }\r\n}\r\n\r\nfunction assurancePayTransform(assurancePayData, context, tfbId) {\r\n try {\r\n const returnAssurancePay = assurancePayData;\r\n\r\n if (assurancePayData && !assurancePayData.ErrorMessage) {\r\n returnAssurancePay.MaskedAccountNumber = helpers.methods.maskString(assurancePayData.AccountNumber, '5', 'X');\r\n returnAssurancePay.MaskedRoutingNumber = helpers.methods.maskString(assurancePayData.RoutingNumber, '5', 'X');\r\n returnAssurancePay.PaymentDate = Number(assurancePayData.PaymentDate);\r\n\r\n if (assurancePayData.AccountType === 'CH') {\r\n returnAssurancePay.FullAccountType = 'Checking';\r\n } else if (assurancePayData.AccountType === 'SA') {\r\n returnAssurancePay.FullAccountType = 'Savings';\r\n } else {\r\n returnAssurancePay.FullAccountType = assurancePayData.AccountType;\r\n }\r\n }\r\n\r\n return returnAssurancePay;\r\n } catch (error) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'policy.js', methodName: 'summaryTransform', trackerId: tfbId,\r\n }, { root: true });\r\n return assurancePayData;\r\n }\r\n}\r\n\r\nfunction getDefaultState() {\r\n return {\r\n policyNumber: '',\r\n accountBillSummary: [],\r\n ebillRequest: null,\r\n recurringRequest: null,\r\n pfPaymentRequest: null,\r\n };\r\n}\r\n\r\n// mutations\r\nconst mutations = {\r\n SET_ACCOUNT_BILL_SUMMARY(state, value) {\r\n const parsed = JSON.stringify(value);\r\n sessionStorage.setItem('tfb_ab_summary', parsed);\r\n\r\n state.accountBillSummary = value;\r\n },\r\n SET_EBILL_REQUEST(state, value) {\r\n state.ebillRequest = value;\r\n },\r\n SET_RECURRING_REQUEST(state, value) {\r\n state.recurringRequest = value;\r\n },\r\n SET_PF_PAYMENT_REQUEST(state, value) {\r\n state.pfPaymentRequest = value;\r\n },\r\n CLEAR_ACCOUNT_BILL_SUMMARY(state) {\r\n sessionStorage.removeItem('tfb_ab_summary');\r\n\r\n state.accountBillSummary = [];\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n};\r\n\r\n// getters\r\nconst getters = {\r\n accountBillSummary(state) {\r\n if (!state.accountBillSummary || state.accountBillSummary.length === 0) {\r\n const tfbAccountBillSummary = sessionStorage.getItem('tfb_ab_summary');\r\n const tfbParsedAccountBillSummary = JSON.parse(tfbAccountBillSummary);\r\n\r\n state.accountBillSummary = tfbParsedAccountBillSummary;\r\n }\r\n\r\n return state.accountBillSummary;\r\n },\r\n ebillRequest(state) {\r\n return state.ebillRequest;\r\n },\r\n recurringRequest(state) {\r\n return state.recurringRequest;\r\n },\r\n pfPaymentRequest(state) {\r\n return state.pfPaymentRequest;\r\n },\r\n};\r\n\r\n// state\r\nconst state = getDefaultState();\r\n\r\n// actions\r\nconst actions = {\r\n getAccountBillInformation(context, sRequest) {\r\n if (state.accountBillSummary && state.accountBillSummary.length > 0) {\r\n return state.accountBillSummary;\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${paymentLookupServiceUrl}/account-bill/policyholder/${sRequest.sMemberNumber.trim()}?access_token=${ssoToken}`, config)\r\n .then((policyResult) => {\r\n if (policyResult && policyResult.data) {\r\n const accountBillSummary = accountBillSummaryTransform(policyResult.data, context, sRequest.sTfbId);\r\n context.commit('SET_ACCOUNT_BILL_SUMMARY', accountBillSummary);\r\n resolve(accountBillSummary);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getAccountBillDetailInformation(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${paymentLookupServiceUrl}/account-bill/policyholder/${sRequest.sMemberNumber.trim()}/${sRequest.sMasterAccount.trim()}`, config)\r\n .then((policyResult) => {\r\n if (policyResult && policyResult.data) {\r\n resolve(accountBillSummaryTransform(policyResult.data, context, sRequest.sTfbId));\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getAccountBillPolicies(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${paymentLookupServiceUrl}/account-bill/policies/${sRequest.sMemberNumber}/${sRequest.sMasterAccount}`, config)\r\n .then((policyResult) => {\r\n if (policyResult && policyResult.data) {\r\n resolve(policyResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getAccountBillEligiblePolicies(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${paymentLookupServiceUrl}/account-bill/policies/eligible/${sRequest.sMemberNumber}/pilot`, config)\r\n .then((policyResult) => {\r\n if (policyResult && policyResult.data) {\r\n resolve(policyResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getEncryptPaymentSummary(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'payments.js', methodName: 'getPaymentSummary-Begin', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${paymentLookupServiceUrl}/payments/policy/encrypt`, {\r\n PolicyNumber: sRequest.sPolicyNumber,\r\n LineOfBusiness: sRequest.sPolicyType,\r\n SourceIdentifier: 'BILLMATRIX',\r\n RequestTimestamp: format(new Date(), 'yyyy-MM-dd\\'T\\'hh:mm:ss'),\r\n }, config)\r\n .then((policyResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(policyResult), fileName: 'payments.js', methodName: 'getPaymentSummary-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (policyResult && policyResult.data) {\r\n resolve(policyResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'payments.js', methodName: 'getPaymentSummary-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n systemCheck(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'payments.js', methodName: 'systemCheck-Begin', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${paymentLookupServiceUrl}/payments/system-check/${sRequest.sPolicyNumber}`, config)\r\n .then((policyResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(policyResult), fileName: 'payments.js', methodName: 'systemCheck-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (policyResult && policyResult.data) {\r\n resolve(policyResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'payments.js', methodName: 'systemCheck-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getEbillInformation(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'payments.js', methodName: 'getEbillInformation-Begin', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.post(`${paymentLookupServiceUrl}/ebill/lookup`, { MemberNumber: sRequest.sMemberNumber, PolicyNumber: sRequest.sPolicyNumber, PolicyType: sRequest.sPolicyType }, config)\r\n .then((policyResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(policyResult), fileName: 'payments.js', methodName: 'getEbillInformation-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (policyResult && policyResult.data) {\r\n resolve(policyResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'payments.js', methodName: 'getEbillInformation-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getRecurringPaymentInfo(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'payments.js', methodName: 'getRecurringPaymentInfo-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${paymentLookupServiceUrl}/payments/recurring/${sRequest.sPolicyNumber}`, config)\r\n .then((policyResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(policyResult), fileName: 'payments.js', methodName: 'getRecurringPaymentInfo-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (policyResult && policyResult.data) {\r\n resolve(assurancePayTransform(policyResult.data, context, sRequest.sTfbId));\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'payments.js', methodName: 'getRecurringPaymentInfo-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n validateRoutingNumber(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${paymentLookupServiceUrl}/validation/routing-number/${sRequest.sRoutingNumber}`, config)\r\n .then((validationResults) => {\r\n if (validationResults && validationResults.data) {\r\n resolve(helpers.methods.replaceAll(validationResults.data, '\"', ''));\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n setupEbillInformation(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'payments.js', methodName: 'setupEbillInformation-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n const changeRequest = [];\r\n for (let i = 0; i < sRequest.sPolicyList.length; i += 1) {\r\n const policy = sRequest.sPolicyList[i];\r\n let enrollmentType = '';\r\n\r\n if ((policy.NewPhone === null || policy.NewPhone.MiraId === 0) && policy.NewEbill === true) {\r\n enrollmentType = 'EML';\r\n } else if ((policy.NewPhone !== null && policy.NewPhone.MiraId !== 0) && policy.NewEbill === true) {\r\n enrollmentType = 'BOTH';\r\n } else if ((policy.NewPhone !== null && policy.NewPhone.MiraId !== 0) && policy.NewEbill === false) {\r\n enrollmentType = 'TXT';\r\n }\r\n\r\n changeRequest.push({\r\n MemberInitials: policy.MemberInitials,\r\n MemberEmailAddress: sRequest.sEmailAddress,\r\n MemberPhoneNumber: helpers.methods.replaceAll(policy.NewPhone.PhoneNumber, 'Not Enrolled', ''),\r\n EnrollmentType: enrollmentType,\r\n PolicyNumber: policy.PolicyNumber,\r\n PolicyType: policy.PolicyType,\r\n MemberNumber: sRequest.sMemberNumber,\r\n MemberId: sRequest.sMemberId,\r\n MiraId: policy.NewPhone.MiraId,\r\n });\r\n }\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(changeRequest), fileName: 'payments.js', methodName: 'setupEbillInformation-SendRequest', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n\r\n axios.post(`${paymentModifyServiceUrl}/ebill/setup`, changeRequest, config)\r\n .then((setupResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(setupResult), fileName: 'payments.js', methodName: 'setupEbillInformation-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (setupResult && setupResult.data) {\r\n resolve(setupResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'payments.js', methodName: 'setupEbillInformation-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n removeEbillInformation(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'payments.js', methodName: 'removeEbillInformation-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n const changeRequest = [];\r\n for (let i = 0; i < sRequest.sPolicyList.length; i += 1) {\r\n const policy = sRequest.sPolicyList[i];\r\n changeRequest.push({\r\n PolicyNumber: policy.Number,\r\n PolicyType: policy.Type,\r\n MemberNumber: sRequest.sMemberNumber,\r\n MemberId: sRequest.sMemberId,\r\n EndRequestor: policy.Initials,\r\n });\r\n }\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(changeRequest), fileName: 'payments.js', methodName: 'removeEbillInformation-Sending', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n\r\n axios.post(`${paymentModifyServiceUrl}/ebill/remove`, changeRequest, config)\r\n .then((removeResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(removeResult), fileName: 'payments.js', methodName: 'removeEbillInformation-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (removeResult && removeResult.data) {\r\n resolve(removeResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'payments.js', methodName: 'removeEbillInformation-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n modifyRecurringPayments(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'payments.js', methodName: 'modifyRecurringPayments-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n const modifyRequest = {\r\n AccountType: sRequest.sAccountType, // .substring( 0, 2 ).toUpperCase()\r\n AgentId: sRequest.sAgentId,\r\n BankAccountNumber: sRequest.sAccountNumber,\r\n BankName: helpers.methods.replaceAll(sRequest.sBankName, '\"', ''),\r\n BankRoutingNumber: sRequest.sRoutingNumber,\r\n EffectiveDate: sRequest.sEffectiveDate,\r\n InsuredEmailAddress: sRequest.sEmailAddress,\r\n MemberNumber: sRequest.sMemberNumber,\r\n PaymentDate: sRequest.sPaymentDate,\r\n PolicyNumber: sRequest.sPolicyNumber,\r\n PolicySubType: sRequest.sPolicySubType,\r\n PolicyType: sRequest.sPolicyType,\r\n PolicyholderName: sRequest.sPolicyholderName,\r\n RequestType: sRequest.sRequestType,\r\n };\r\n\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(modifyRequest), fileName: 'payments.js', methodName: 'modifyRecurringPayments-SendRequest', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n\r\n axios.post(`${paymentModifyServiceUrl}/eft`, modifyRequest, config)\r\n .then((modifyResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(modifyResult), fileName: 'payments.js', methodName: 'modifyRecurringPayments-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (modifyResult && modifyResult.data) {\r\n resolve(modifyResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'payments.js', methodName: 'modifyRecurringPayments-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n manageAccountBill(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'payments.js', methodName: 'manageAccountBill-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n const policyRequest = [];\r\n for (let i = 0; i < sRequest.accountBillArray.length; i += 1) {\r\n const policy = sRequest.accountBillArray[i];\r\n policyRequest.push({\r\n PolicyNumber: policy.PolicyNumber,\r\n LineOfBusiness: policy.LineOfBusiness,\r\n PolicyType: policy.PolicyType,\r\n PolicySubType: policy.PolicySubType,\r\n Status: 'ADD',\r\n });\r\n }\r\n\r\n const modifyRequest = {\r\n RequestType: '0',\r\n InsuredFirstName: sRequest.firstName,\r\n InsuredLastName: sRequest.lastName,\r\n AddressLineOne: sRequest.addressLine1,\r\n AddressLineTwo: (sRequest.addressLine2 || ''),\r\n City: sRequest.city,\r\n State: sRequest.state,\r\n ZipCode: sRequest.zipCode,\r\n County: sRequest.county,\r\n MemberNumber: sRequest.memberNumber,\r\n RequestedPaymentDate: sRequest.draftDay,\r\n AssurancePayFlag: sRequest.assurancePayFlag,\r\n NameOnBankAccount: (sRequest.accountName || ''),\r\n BankName: (sRequest.bankName || ''),\r\n BankRoutingNumber: (sRequest.routingNumber || ''),\r\n BankAccountNumber: (sRequest.accountNumber || ''),\r\n AccountType: (sRequest.accountType ? sRequest.accountType.Value : ''),\r\n RequestedPolicies: policyRequest,\r\n };\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(modifyRequest), fileName: 'payments.js', methodName: 'manageAccountBill-SendRequest', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n\r\n axios.post(`${paymentModifyServiceUrl}/account-bill/setup`, modifyRequest, config)\r\n .then((setupResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(setupResult), fileName: 'payments.js', methodName: 'manageAccountBill-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (setupResult && setupResult.data) {\r\n resolve(setupResult.data);\r\n } else {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: setupResult, fileName: 'payments.js', methodName: 'manageAccountBill-NullResult', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'payments.js', methodName: 'manageAccountBill-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n makePremiumFinancePayment(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'payments.js', methodName: 'makePremiumFinancePayment-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n const paymentRequest = {\r\n ContractNumber: sRequest.sContractNumber,\r\n MemberNumber: sRequest.sMemberNumber,\r\n RoutingNumber: sRequest.sRoutingNumber,\r\n AccountNumber: sRequest.sAccountNumber,\r\n PaymentAmount: sRequest.sPaymentAmount,\r\n };\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(paymentRequest), fileName: 'payments.js', methodName: 'makePremiumFinancePayment-SendRequest', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n\r\n axios.post(`${paymentModifyServiceUrl}/payments/remittance/premium-finance`, paymentRequest, config)\r\n .then((paymentResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(paymentResult), fileName: 'payments.js', methodName: 'makePremiumFinancePayment-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (paymentResult && paymentResult.data) {\r\n resolve(paymentResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'payments.js', methodName: 'makePremiumFinancePayment-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations,\r\n};\r\n","import Vue from 'vue';\r\nimport axios from 'axios';\r\nimport _ from 'lodash';\r\nimport helpers from '../../mixins/helpers';\r\nimport { genericErrorMessage } from '../../mixins/errorMessages';\r\n\r\nconst compAutoLookupServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/TFBIC.Services.RESTCompAuto.Lookup/REST_CompAutoLookup.svc`;\r\nconst holLookupServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/TFBIC.Services.RESTHOL.Lookup`;\r\nconst pa6LookupServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/TFBIC.Services.RESTPA6.Lookup`;\r\nconst policyLookupServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/TFBIC.Services.RESTPolicy.Lookup`;\r\nconst premiumFinanceLookupServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/TFBIC.Services.RESTPremiumFinance.Lookup/REST_PremiumFinanceLookup.svc`;\r\nconst standardFireLookupServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/TFBIC.Services.RESTStandardFire.Lookup`;\r\nconst texasAgLookupServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/TFBIC.Services.RESTTexasAg.Lookup/REST_TexasAgLookup.svc`;\r\nconst majescoLookupServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/TFBIC.Services.RESTMajesco.Lookup`;\r\n\r\nconst tokenName = process.env.VUE_APP_WEB_ENV !== 'PROD' ? `tfb_${process.env.VUE_APP_WEB_ENV}_token` : 'tfb_token';\r\n\r\nconst config = {\r\n crossdomain: true,\r\n withCredentials: true,\r\n headers: { 'Access-Control-Allow-Origin': '*', Accept: 'application/json; odata=verbose', 'Content-Type': 'application/json; odata=verbose' },\r\n};\r\n\r\n/**\r\n * summaryTransform\r\n * @param {object} accountSummaryData JSON object of policy data\r\n * @returns {object} JSON object of formatted policy data\r\n */\r\nfunction summaryTransform(accountSummary, context, tfbId) {\r\n try {\r\n const returnSummary = [];\r\n\r\n if (accountSummary && !accountSummary.ErrorMessage && accountSummary.Policies) {\r\n for (let i = 0; i < accountSummary.Policies.length; i += 1) {\r\n const policy = accountSummary.Policies[i];\r\n if (policy.PolicyStatus === 'ACTIVE') {\r\n if (policy.PolicyType === 'SM' || policy.PolicySymbol === 'PA6' || policy.PolicySymbol === 'AU') {\r\n policy.DetailPath = 'six-month';\r\n } else if (policy.PolicyType === 'CA') {\r\n policy.DetailPath = 'commercial-auto';\r\n } else if (policy.PolicyType === 'PR') {\r\n policy.DetailPath = 'premium-finance';\r\n } else if ((policy.PolicySymbol === 'TDP' && policy.GuidewireFlag === 'Y') || (policy.PolicyType === 'SF' && policy.PolicySubType === '4')) {\r\n policy.DetailPath = 'texas-dwelling';\r\n } else if (policy.PolicyType === 'SF') {\r\n policy.DetailPath = 'standard-fire';\r\n } else if (policy.PolicyType === 'PF' || policy.PolicySymbol === 'INM') {\r\n policy.DetailPath = 'inland-marine';\r\n } else if (policy.PolicyType === 'AA' || policy.PolicyType === 'AT' || policy.PolicySymbol === 'TAA' || policy.PolicySymbol === 'TXC') {\r\n policy.DetailPath = 'texas-agadvantage';\r\n } else if (policy.PolicyType === 'HT' || policy.PolicyType === 'TT' || policy.PolicySymbol === 'HOL') {\r\n policy.DetailPath = 'homeowners';\r\n } else if (policy.PolicyType === 'UM' && policy.PolicySubType === '1') {\r\n policy.DetailPath = 'umbrella';\r\n } else if (policy.PolicyType === 'TC' && policy.PolicySubType === '1') {\r\n policy.DetailPath = 'commercial-package';\r\n } else if (policy.PolicyType === 'CF' && policy.PolicySubType === '1') {\r\n policy.DetailPath = 'commercial-fire';\r\n // } else if ((policy.PolicyType === 'CP' && policy.PolicySubType === '1') || policy.PolicySymbol === 'PLC') {\r\n // policy.DetailPath = 'comprehensive-personal';\r\n } else if (policy.PolicyType === 'CP' && policy.PolicySubType === '2') {\r\n policy.DetailPath = 'general-liability';\r\n } else if (policy.PolicyType === 'CP' && policy.PolicySubType === '3') {\r\n policy.DetailPath = 'farm-liability';\r\n } else {\r\n policy.DetailPath = ' ';\r\n }\r\n } else {\r\n policy.DetailPath = ' ';\r\n }\r\n\r\n if (policy.PolicyType === 'CA' || policy.PolicyType === 'SM' || policy.PolicySymbol === 'PA6' || policy.PolicySymbol === 'AU') {\r\n policy.IconPath = `${process.env.VUE_APP_ROOT_URI}/publishingimages/policy-icons/auto.png`;\r\n } else if (policy.PolicyType === 'HT' || policy.PolicyType === 'TT' || policy.PolicySymbol === 'HOL') {\r\n policy.IconPath = `${process.env.VUE_APP_ROOT_URI}/publishingimages/policy-icons/home.png`;\r\n } else if (policy.PolicyType === 'AA' || policy.PolicyType === 'AT' || policy.PolicyType === 'FT' || (policy.PolicyType === 'CP' && policy.PolicySubType === '3')\r\n || policy.PolicySymbol === 'TAA' || policy.PolicySymbol === 'TXC') {\r\n policy.IconPath = `${process.env.VUE_APP_ROOT_URI}/publishingimages/policy-icons/farm-ranch.png`;\r\n } else if (policy.PolicyType === 'LI') {\r\n policy.IconPath = `${process.env.VUE_APP_ROOT_URI}/publishingimages/policy-icons/life.png`;\r\n } else if (policy.PolicyType === 'CF' || policy.PolicyType === 'CI' || policy.PolicyType === 'TC') {\r\n policy.IconPath = `${process.env.VUE_APP_ROOT_URI}/publishingimages/policy-icons/commercial.png`;\r\n } else if (policy.PolicyType === 'CP' || policy.PolicySymbol === 'PIC' || policy.PolicySymbol === 'PLC') {\r\n policy.IconPath = `${process.env.VUE_APP_ROOT_URI}/publishingimages/policy-icons/comprehensive-personal.png`;\r\n } else if (policy.PolicyType === 'CT') {\r\n policy.IconPath = `${process.env.VUE_APP_ROOT_URI}/publishingimages/policy-icons/chicken-turkey.png`;\r\n } else if (policy.PolicyType === 'MP') {\r\n policy.IconPath = `${process.env.VUE_APP_ROOT_URI}/publishingimages/policy-icons/multi-peril.png`;\r\n } else if ((policy.PolicyType === 'PF' && policy.PolicySubType === '1') || (policy.PolicyType === 'PF' && policy.PolicySubType === '4') || policy.PolicySymbol === 'INM') {\r\n policy.IconPath = `${process.env.VUE_APP_ROOT_URI}/publishingimages/policy-icons/inland-marine.png`;\r\n } else if (policy.PolicyType === 'PF') {\r\n policy.IconPath = `${process.env.VUE_APP_ROOT_URI}/publishingimages/policy-icons/personal-floater.png`;\r\n } else if (policy.PolicyType === 'SB') {\r\n policy.IconPath = `${process.env.VUE_APP_ROOT_URI}/publishingimages/policy-icons/school-bus.png`;\r\n } else if (policy.PolicyType === 'SH') {\r\n policy.IconPath = `${process.env.VUE_APP_ROOT_URI}/publishingimages/policy-icons/rural-health.png`;\r\n } else if (policy.PolicyType === 'SF' || policy.PolicySymbol === 'TDP' || policy.PolicySymbol === 'TFR') {\r\n policy.IconPath = `${process.env.VUE_APP_ROOT_URI}/publishingimages/policy-icons/standard-fire.png`;\r\n } else if (policy.PolicyType === 'ST') {\r\n policy.IconPath = `${process.env.VUE_APP_ROOT_URI}/publishingimages/policy-icons/short-term.png`;\r\n } else if (policy.PolicyType === 'UM') {\r\n policy.IconPath = `${process.env.VUE_APP_ROOT_URI}/publishingimages/policy-icons/umbrella.png`;\r\n } else {\r\n policy.IconPath = `${process.env.VUE_APP_ROOT_URI}/publishingimages/policy-icons/misc.png`;\r\n }\r\n\r\n if (policy.PolicyType === 'AA' || policy.PolicyType === 'AT') {\r\n policy.PolicyDescription = `${policy.PolicyDescription} ®`;\r\n }\r\n\r\n if ((policy.PolicyType === 'AA' || policy.PolicyType === 'AT' || policy.PolicyType === 'HT' || policy.PolicyType === 'PF' || policy.PolicyType === 'SF'\r\n || policy.PolicyType === 'TT' || (policy.PolicyType === 'UM' && policy.PolicySubType === '1') || (policy.PolicyType === 'TC' && policy.PolicySubType === '1')\r\n || (policy.PolicyType === 'CF' && policy.PolicySubType === '1') || (policy.PolicyType === 'CP' && policy.PolicySubType === '3'))\r\n && (policy.PropertyLocation === undefined || policy.PropertyLocation === null || policy.PropertyLocation === '' || policy.PropertyLocation === ' ')) {\r\n policy.PropertyLocation = ' ';\r\n }\r\n\r\n if (policy.PolicyRecurringStatus === 'ACT' || policy.PolicyRecurringStatus === 'RAC' || policy.PolicyRecurringStatus === 'SNT'\r\n || policy.PolicyRecurringStatus === 'PNE' || policy.PolicyRecurringStatus === 'PNS') {\r\n policy.CurrentRecurring = 'CHANGE';\r\n } else {\r\n policy.CurrentRecurring = ' ';\r\n\r\n if (policy.PolicyRecurringFlag === 'Y' || policy.LaurusFlag === 'Y') {\r\n policy.CurrentRecurring = 'SIGNUP';\r\n }\r\n }\r\n\r\n returnSummary.push(policy);\r\n }\r\n }\r\n\r\n return returnSummary;\r\n } catch (error) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'policy.js', methodName: 'summaryTransform', trackerId: tfbId,\r\n }, { root: true });\r\n return accountSummary;\r\n }\r\n}\r\n\r\n/**\r\n * premiumFinanceTransform\r\n * @param {object} data - JSON object of policy details data\r\n * @returns {object} - JSON object of formatted policy details data\r\n */\r\nfunction premiumFinanceTransform(policyDetails, context, summaryDetails, tfbId) {\r\n try {\r\n const policyReturn = summaryDetails;\r\n\r\n if (policyDetails) {\r\n if (policyDetails.PremiumFinanceContract && policyDetails.PremiumFinanceContract.length > 0) {\r\n policyReturn.ContractNumber = summaryDetails.ContractNumber;\r\n policyReturn.ContractNumberAbbr = policyDetails.PremiumFinanceContract[0].ContractNumber;\r\n policyReturn.ContractDate = policyDetails.PremiumFinanceContract[0].ContractDate;\r\n policyReturn.DownPayment = policyDetails.PremiumFinanceContract[0].DownPayment;\r\n policyReturn.DueDate = policyDetails.PremiumFinanceContract[0].DueDate;\r\n policyReturn.FinanceCharge = policyDetails.PremiumFinanceContract[0].FinanceCharge;\r\n policyReturn.MonthlyPayment = policyDetails.PremiumFinanceContract[0].MonthlyPayment;\r\n policyReturn.TotalAmountDue = policyDetails.PremiumFinanceContract[0].TotalAmountDue;\r\n policyReturn.TotalPremium = policyDetails.PremiumFinanceContract[0].TotalPremium;\r\n policyReturn.MemberNumber = policyDetails.PremiumFinanceContract[0].MemberNumber;\r\n }\r\n\r\n if (policyDetails.PremiumFinancePayments) {\r\n policyReturn.Payments = policyDetails.PremiumFinancePayments;\r\n } else {\r\n policyReturn.Payments = [];\r\n }\r\n\r\n if (policyDetails.PremiumFinancePolicyInformation) {\r\n policyReturn.AssociatedPolicyNumber = policyDetails.PremiumFinancePolicyInformation.PolicyNumber;\r\n }\r\n }\r\n\r\n return policyReturn;\r\n } catch (error) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'policy.js', methodName: 'premiumFinanceTransform', trackerId: tfbId,\r\n }, { root: true });\r\n\r\n return policyDetails;\r\n }\r\n}\r\n\r\n/**\r\n * policyHolderAutoTransform - PA6\r\n * @param {object} data - JSON object of policy details data\r\n * @returns {object} - JSON object of formatted policy details data\r\n */\r\nfunction policyHolderAutoTransform(policyDetails, context, summaryDetails, tfbId) {\r\n try {\r\n const policyReturn = summaryDetails;\r\n\r\n if (policyDetails) {\r\n if (policyDetails.InsuredAddress) {\r\n policyReturn.PolicyAddress = policyDetails.InsuredAddress;\r\n } else if (policyDetails.PolicyAddress) {\r\n policyReturn.PolicyAddress = policyDetails.PolicyAddress;\r\n }\r\n\r\n if (policyDetails.EffectiveDate && policyDetails.EffectiveDate !== '') {\r\n policyReturn.EffectiveDate = policyDetails.EffectiveDate;\r\n }\r\n\r\n if (policyDetails.ExpirationDate && policyDetails.ExpirationDate !== '') {\r\n policyReturn.ExpirationDate = policyDetails.ExpirationDate;\r\n }\r\n\r\n if (policyDetails.FutureEffectiveDate) {\r\n policyReturn.FutureEffectiveDate = policyDetails.FutureEffectiveDate;\r\n }\r\n\r\n if (policyDetails.FutureExpirationDate) {\r\n policyReturn.FutureExpirationDate = policyDetails.FutureExpirationDate;\r\n }\r\n\r\n if (policyReturn.PolicyAddress) {\r\n policyReturn.FormattedPolicyAddress = helpers.methods.buildAddress(policyReturn.PolicyAddress.Address1,\r\n policyReturn.PolicyAddress.Address2, policyReturn.PolicyAddress.Address3,\r\n policyReturn.PolicyAddress.City, policyReturn.PolicyAddress.State,\r\n policyReturn.PolicyAddress.ZipCode, policyReturn.PolicyAddress.ZipCode4, policyReturn.PolicyAddress.ZipCode2);\r\n }\r\n\r\n if (policyDetails.WritingCompany) {\r\n policyReturn.WritingCompany = policyDetails.WritingCompany;\r\n } else if (policyDetails.WritingCompanyName) {\r\n policyReturn.WritingCompany = policyDetails.WritingCompanyName;\r\n }\r\n\r\n if (policyDetails.NamedInsuredOne) { policyReturn.InsuredNames = policyDetails.NamedInsuredOne; }\r\n\r\n if (policyDetails.NamedInsuredTwo) { policyReturn.InsuredNames += `<br />${policyDetails.NamedInsuredTwo}`; }\r\n\r\n if (policyDetails.PolicyBilling) {\r\n policyReturn.Adjustments = policyDetails.PolicyBilling.PremiumAdjustment;\r\n policyReturn.BilledPremiumAmount = policyDetails.PolicyBilling.BilledPremiumAmount;\r\n policyReturn.PreviousDebitCredit = policyDetails.PolicyBilling.PreviousDebitCredit;\r\n policyReturn.TermPremiumAmount = policyDetails.PolicyBilling.GrossPremiumAmount;\r\n policyReturn.TheftFee = policyDetails.PolicyBilling.TheftFee;\r\n policyReturn.TotalDiscounts = policyDetails.PolicyBilling.TotalDiscounts;\r\n\r\n if (policyDetails.PolicyBilling.PaymentHistory && policyDetails.PolicyBilling.PaymentHistory.length > 0) {\r\n const sortedPayments = _.orderBy(policyDetails.PolicyBilling.PaymentHistory, ['PaymentDate'], ['desc']);\r\n policyReturn.Payments = sortedPayments;\r\n }\r\n }\r\n\r\n // Do we have drivers?\r\n if (policyDetails.CoveredDrivers) {\r\n for (let d = 0; d < policyDetails.CoveredDrivers.length; d += 1) {\r\n const driver = policyDetails.CoveredDrivers[d];\r\n if (driver) {\r\n if (driver.DriversLicenseNumber) {\r\n driver.MaskedDriversLicenseNumber = helpers.methods.maskString(driver.DriversLicenseNumber, '4', 'X');\r\n } else {\r\n driver.MaskedDriversLicenseNumber = 'N/A';\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Do we have vehicles?\r\n if (policyDetails.Vehicles) {\r\n // Loop through the vehicles\r\n for (let v = 0; v < policyDetails.Vehicles.length; v += 1) {\r\n const vehicle = policyDetails.Vehicles[v];\r\n // Do we have a vehicle with a lienholder?\r\n if (vehicle && vehicle.LienHolders && vehicle.LienHolders.length > 0) {\r\n for (let l = 0; l < vehicle.LienHolders.length; l += 1) {\r\n const lienholder = vehicle.LienHolders[l];\r\n // Do we have a vehicle with a lienholder?\r\n if (lienholder && lienholder.Address && lienholder.Address.City) {\r\n // Build the coverage section name\r\n lienholder.LienHolderAddress = helpers.methods.buildSingleLineAddress(lienholder.Address.Address1, lienholder.Address.Address2, lienholder.Address.Address3,\r\n lienholder.Address.City, lienholder.Address.State, lienholder.Address.ZipCode, lienholder.Address.ZipCode4, null);\r\n } else if (lienholder && lienholder.Address) {\r\n // Build the coverage section name\r\n lienholder.LienHolderAddress = lienholder.Address;\r\n } else {\r\n lienholder.LienHolderAddress = '';\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n policyReturn.PolicyAddress = policyDetails.PolicyAddress;\r\n policyReturn.CoveredDrivers = policyDetails.CoveredDrivers;\r\n policyReturn.ExcludedDrivers = policyDetails.ExcludedDrivers;\r\n policyReturn.Vehicles = policyDetails.Vehicles;\r\n }\r\n\r\n return policyReturn;\r\n } catch (error) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'policy.js', methodName: 'policyHolderAutoTransform', trackerId: tfbId,\r\n }, { root: true });\r\n return policyDetails;\r\n }\r\n}\r\n\r\n/**\r\n * policyHolderPropertyTransform - HOL, STF/INM, TAA, Guidewire\r\n * @param {object} data - JSON object of policy details data\r\n * @returns {object} - JSON object of formatted policy details data\r\n */\r\nfunction policyHolderPropertyTransform(policyDetails, context, summaryDetails, tfbId) {\r\n try {\r\n const policyDiscounts = [];\r\n const policyEndorsements = [];\r\n const policyMortgagees = [];\r\n const policySections = [];\r\n const policyReturn = summaryDetails;\r\n\r\n if (policyDetails) {\r\n policyReturn.InsuredNames = policyDetails.NamedInsuredOne;\r\n policyReturn.LocationConstruction = policyDetails.PropertyConstruction;\r\n policyReturn.PropertyLocation = policyDetails.PropertyLocation;\r\n policyReturn.WritingCompany = policyDetails.WritingCompanyName;\r\n\r\n if (policyDetails.PolicyAddress) {\r\n policyReturn.PolicyAddress = policyDetails.PolicyAddress;\r\n } else if (policyDetails.InsuredAddress) {\r\n policyReturn.PolicyAddress = policyDetails.InsuredAddress;\r\n }\r\n\r\n if (policyReturn.PolicyAddress) {\r\n policyReturn.FormattedPolicyAddress = helpers.methods.buildAddress(policyReturn.PolicyAddress.Address1,\r\n policyReturn.PolicyAddress.Address2, policyReturn.PolicyAddress.Address3,\r\n policyReturn.PolicyAddress.City, policyReturn.PolicyAddress.State,\r\n policyReturn.PolicyAddress.ZipCode, policyReturn.PolicyAddress.ZipCode4, policyReturn.PolicyAddress.ZipCode2);\r\n }\r\n\r\n if (policyDetails.NamedInsuredTwo) {\r\n policyReturn.InsuredNames += `<br />${policyDetails.NamedInsuredTwo}`;\r\n }\r\n\r\n if (policyDetails.PolicyForm) {\r\n policyReturn.PolicyForm = policyDetails.PolicyForm.replace('&amp;', '&');\r\n }\r\n\r\n if (policyDetails.PropertyInformation && (policyReturn.PropertyLocation === null || policyReturn.PropertyLocation === '' || policyReturn.PropertyLocation === ' ')) {\r\n policyReturn.PropertyLocation = policyDetails.PropertyInformation.LocationOfProperty;\r\n policyReturn.LocationConstruction = policyDetails.PropertyInformation.Construction;\r\n }\r\n\r\n if (policyDetails.PolicyBilling) {\r\n policyReturn.Adjustments = policyDetails.PolicyBilling.PremiumAdjustment;\r\n policyReturn.BilledPremiumAmount = policyDetails.PolicyBilling.BilledPremiumAmount;\r\n policyReturn.PreviousDebitCredit = policyDetails.PolicyBilling.PreviousDebitCredit;\r\n policyReturn.TheftFee = policyDetails.PolicyBilling.TheftFee;\r\n\r\n if (policyDetails.PolicyBilling.TotalDiscounts) {\r\n policyReturn.TotalDiscounts = policyDetails.PolicyBilling.TotalDiscounts;\r\n } else {\r\n // eslint-disable-next-line no-lonely-if\r\n if (policyDetails.PolicyBilling.GrossPremiumAmount && policyDetails.PolicyBilling.BilledPremiumAmount) {\r\n policyReturn.TotalDiscounts = policyDetails.PolicyBilling.BilledPremiumAmount - policyDetails.PolicyBilling.GrossPremiumAmount;\r\n } else if (policyDetails.PolicyBilling.TermPremiumAmount && policyDetails.PolicyBilling.BilledPremiumAmount) {\r\n policyReturn.TotalDiscounts = policyDetails.PolicyBilling.BilledPremiumAmount - policyDetails.PolicyBilling.TermPremiumAmount;\r\n }\r\n }\r\n\r\n if (policyDetails.PolicyBilling.GrossPremiumAmount) {\r\n policyReturn.TermPremiumAmount = policyDetails.PolicyBilling.GrossPremiumAmount;\r\n } else {\r\n policyReturn.TermPremiumAmount = policyDetails.PolicyBilling.TermPremiumAmount;\r\n }\r\n\r\n if (policyDetails.PolicyBilling.PaymentHistory && policyDetails.PolicyBilling.PaymentHistory.length > 0) {\r\n for (let p = 0; p < policyDetails.PolicyBilling.PaymentHistory.length; p += 1) {\r\n const payment = policyDetails.PolicyBilling.PaymentHistory[p];\r\n if (payment && payment.PaymentDate && payment.PaymentDate !== null && payment.PaymentDate !== '') {\r\n const paymentDate = payment.PaymentDate.split('-');\r\n if (paymentDate.length > 2) {\r\n if (paymentDate[2].length > 2) {\r\n // Last part is a year, so we have to rearrange the date parts\r\n payment.PaymentDate = `${paymentDate[2]}-${paymentDate[0]}-${paymentDate[1]}`;\r\n }\r\n }\r\n }\r\n }\r\n\r\n policyReturn.Payments = policyDetails.PolicyBilling.PaymentHistory;\r\n } else {\r\n policyReturn.Payments = [];\r\n }\r\n }\r\n\r\n if (policyDetails.BillingInformation) {\r\n policyReturn.Adjustments = policyDetails.BillingInformation.PremiumAdjustment;\r\n policyReturn.BilledPremiumAmount = policyReturn.BilledPremiumAmount === undefined || policyReturn.BilledPremiumAmount === null || policyReturn.BilledPremiumAmount === ''\r\n ? policyDetails.BillingInformation.BilledPremiumAmount : policyReturn.BilledPremiumAmount;\r\n policyReturn.PreviousDebitCredit = policyDetails.BillingInformation.PreviousDebitCredit;\r\n policyReturn.NextPaymentDueDate = policyDetails.BillingInformation.NextPaymentDueDate;\r\n policyReturn.TermPremiumAmount = policyReturn.TermPremiumAmount === undefined || policyReturn.TermPremiumAmount === null || policyReturn.TermPremiumAmount === ''\r\n ? policyDetails.BillingInformation.TermPremiumAmount : policyReturn.TermPremiumAmount;\r\n policyReturn.TheftFee = policyReturn.TheftFee === undefined || policyReturn.TheftFee === null || policyReturn.TheftFee === ''\r\n ? policyDetails.BillingInformation.TheftFee : policyReturn.TheftFee;\r\n policyReturn.TotalDiscounts = policyReturn.TotalDiscounts === undefined || policyReturn.TotalDiscounts === null || policyReturn.TotalDiscounts === ''\r\n ? policyDetails.BillingInformation.TotalDiscounts : policyReturn.TotalDiscounts;\r\n\r\n if (policyDetails.BillingInformation.PaymentHistory && policyDetails.BillingInformation.PaymentHistory.length > 0\r\n && (policyReturn.Payments === undefined || policyReturn.Payments === null)) {\r\n for (let p = 0; p < policyDetails.BillingInformation.PaymentHistory.length; p += 1) {\r\n const payment = policyDetails.BillingInformation.PaymentHistory[p];\r\n if (payment && payment.PaymentDate && payment.PaymentDate !== null && payment.PaymentDate !== '') {\r\n const paymentDate = payment.PaymentDate.split('-');\r\n if (paymentDate.length > 2) {\r\n if (paymentDate[2].length > 2) {\r\n // Last part is a year, so we have to rearrange the date parts\r\n payment.PaymentDate = `${paymentDate[2]}-${paymentDate[0]}-${paymentDate[1]}`;\r\n }\r\n }\r\n }\r\n }\r\n policyReturn.Payments = policyDetails.BillingInformation.PaymentHistory;\r\n }\r\n }\r\n\r\n if (policyDetails.Locations) {\r\n for (let l = 0; l < policyDetails.Locations.length; l += 1) {\r\n const location = policyDetails.Locations[l];\r\n if (location && location.AddressLineOne && location.AddressLineOne !== null) {\r\n location.LocationAddress = helpers.methods.buildSingleLineAddress(location.AddressLineOne, location.AddressLineTwo, null, location.AddressCity,\r\n location.AddressState, location.AddressZipCode, location.AddressZipCodePlusFour, location.AddressZipCodePlusTwo);\r\n }\r\n }\r\n\r\n policyReturn.Locations = policyDetails.Locations;\r\n }\r\n\r\n if (policyDetails.Sections && policyDetails.Sections.length > 0) {\r\n for (let s = 0; s < policyDetails.Sections.length; s += 1) {\r\n const section = policyDetails.Sections[s];\r\n if (section) {\r\n if (section.Coverages && section.Coverages.length > 0) {\r\n for (let c = 0; c < section.Coverages.length; c += 1) {\r\n const coverage = section.Coverages[c];\r\n if (coverage) {\r\n if (coverage.Limit) {\r\n if (coverage.Limit.indexOf('/') !== -1) {\r\n const splitCoverage = coverage.Limit.split('/');\r\n\r\n if (splitCoverage.length > 1) {\r\n coverage.Limit = `${helpers.methods.formatMoney(splitCoverage[0], 0)}/${helpers.methods.formatMoney(splitCoverage[1], 0)}`;\r\n }\r\n } else {\r\n coverage.Limit = helpers.methods.formatMoney(coverage.Limit, 0);\r\n }\r\n }\r\n if (coverage.Name) {\r\n coverage.Name = _.replace(coverage.Name, '&', '&');\r\n }\r\n if (coverage.Premium) {\r\n coverage.Premium = helpers.methods.formatMoney(coverage.Premium, 0);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (section.Deductibles && section.Deductibles.length > 0) {\r\n for (let d = 0; d < section.Deductibles.length; d += 1) {\r\n const deductible = section.Deductibles[d];\r\n if (deductible) {\r\n if (deductible.Name) {\r\n deductible.Name = _.replace(deductible.Name, '&', '&');\r\n }\r\n }\r\n }\r\n }\r\n\r\n policySections.push(section);\r\n\r\n if (section.Discounts) {\r\n for (let d = 0; d < section.Discounts.length; d += 1) {\r\n const discount = section.Discounts[d];\r\n if (discount && policyDiscounts.indexOf(discount.Name) === -1) {\r\n policyDiscounts.push(discount);\r\n }\r\n }\r\n }\r\n\r\n if (section.Endorsements) {\r\n for (let e = 0; e < section.Endorsements.length; e += 1) {\r\n const endorsement = section.Endorsements[e];\r\n if (endorsement && policyEndorsements.indexOf(endorsement.Id) === -1) {\r\n policyEndorsements.push(endorsement);\r\n }\r\n }\r\n }\r\n\r\n if (section.Mortgagees) {\r\n for (let m = 0; m < section.Mortgagees.length; m += 1) {\r\n const mortgagee = section.Mortgagees[m];\r\n if (mortgagee) {\r\n policyMortgagees.push(mortgagee);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Sort the accumulated discounts and set them to the policy level Discounts\r\n if (policyDiscounts.length > 0) {\r\n policyReturn.Discounts = _.sortBy(policyDiscounts, ['Name']);\r\n } else {\r\n policyReturn.Discounts = policyDiscounts;\r\n }\r\n\r\n // Sort the accumulated endorsements and set them to the policy level Endorsements\r\n if (policyEndorsements.length > 0) {\r\n policyReturn.Endorsements = _.sortBy(policyEndorsements, ['Id']);\r\n } else {\r\n policyReturn.Endorsements = policyEndorsements;\r\n }\r\n\r\n // Sort the accumulated mortgagees and set them to the policy level Mortgagees\r\n if (policyMortgagees.length > 0) {\r\n policyReturn.Mortgagees = _.sortBy(policyMortgagees, ['Name']);\r\n } else {\r\n policyReturn.Mortgagees = policyMortgagees;\r\n }\r\n\r\n // Set the accumulated sections to the policy level Sections\r\n policyReturn.Sections = policySections;\r\n }\r\n\r\n return policyReturn;\r\n } catch (error) {\r\n console.error(error);\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'policy.js', methodName: 'policyHolderPropertyTransform', trackerId: tfbId,\r\n }, { root: true });\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'policy.js', methodName: 'policyHolderPropertyTransform', trackerId: tfbId,\r\n }, { root: true });\r\n\r\n return policyDetails;\r\n }\r\n}\r\n\r\n/**\r\n * policyDetailsTransform - CompAuto, Legacy SF/PF, Majesco\r\n * @param {object} data - JSON object of policy details data\r\n * @returns {object} - JSON object of formatted policy details data\r\n */\r\nfunction policyDetailsTransform(policyDetails, context, summaryDetails, tfbId) {\r\n const policyReturn = summaryDetails;\r\n\r\n try {\r\n const policyEndorsements = [];\r\n const policyDiscounts = [];\r\n const policyMortgagees = [];\r\n const policyCoverages = [];\r\n const policySecIIICoverages = [];\r\n const policySecIVCoverages = [];\r\n\r\n if (policyDetails) {\r\n policyReturn.ExcludedDrivers = policyDetails.ExcludedDrivers;\r\n policyReturn.DIFamilyMember = policyDetails.DIFamilyMember;\r\n policyReturn.PolicyForm = policyDetails.Form;\r\n policyReturn.PerilsInsuredAgainst = policyDetails.PerilsInsuredAgainst;\r\n policyReturn.UnderlyingAutoPolicies = policyDetails.UnderlyingAutoPolicies;\r\n policyReturn.UnderlyingPropertyPolicies = policyDetails.UnderlyingPropertyPolicies;\r\n policyReturn.Locations = policyDetails.Locations;\r\n\r\n if (policyDetails.Members) {\r\n policyReturn.NamedInsureds = [];\r\n policyReturn.NamedInsureds.push(policyDetails.Members.NamedInsured);\r\n\r\n if (policyReturn.Members.SecondNamedInsured) {\r\n policyReturn.NamedInsureds.push(policyDetails.Members.SecondNamedInsured);\r\n }\r\n }\r\n\r\n if (policyDetails.NamedInsureds) {\r\n if (policyDetails.NamedInsureds[0] && policyDetails.NamedInsureds[0].MailingAddress) {\r\n policyReturn.PolicyAddress = policyDetails.NamedInsureds[0].MailingAddress;\r\n } else if (policyDetails.NamedInsureds.NamedInsured && policyDetails.NamedInsureds.NamedInsured.MailingAddress) {\r\n policyReturn.PolicyAddress = policyDetails.NamedInsureds.NamedInsured.MailingAddress;\r\n }\r\n\r\n for (let i = 0; i < policyDetails.NamedInsureds.length; i += 1) {\r\n const name = policyDetails.NamedInsureds[i];\r\n if (name) {\r\n if (name.CombinedFullName && i === 0) {\r\n policyReturn.InsuredNames = `${name.CombinedFullName}<br />`;\r\n } else if (name.FirstName && i === 0) {\r\n policyReturn.InsuredNames = `${name.FirstName} ${name.LastName}<br />`;\r\n } else if (name.ConcatenatedName && i === 0) {\r\n policyReturn.InsuredNames = `${name.CombinedFullName}<br />`;\r\n } else if (name.CombinedFullName) {\r\n policyReturn.InsuredNames += `${name.CombinedFullName}<br />`;\r\n } else if (name.FirstName) {\r\n policyReturn.InsuredNames += `${name.FirstName} ${name.LastName}<br />`;\r\n } else if (name.ConcatenatedName) {\r\n policyReturn.InsuredNames += `${name.CombinedFullName}<br />`;\r\n } else {\r\n policyReturn.InsuredNames += `${name}<br />`;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (policyDetails.PolicyAddress) {\r\n policyReturn.PolicyAddress = policyDetails.PolicyAddress;\r\n } else if (policyDetails.InsuredAddress) {\r\n policyReturn.PolicyAddress = policyDetails.InsuredAddress;\r\n } else if (policyDetails.MailingAddress) {\r\n policyReturn.PolicyAddress = policyDetails.MailingAddress;\r\n }\r\n\r\n if (policyReturn.PolicyAddress) {\r\n policyReturn.FormattedPolicyAddress = helpers.methods.buildAddress(policyReturn.PolicyAddress.Address1,\r\n policyReturn.PolicyAddress.Address2, policyReturn.PolicyAddress.Address3,\r\n policyReturn.PolicyAddress.City, policyReturn.PolicyAddress.State,\r\n policyReturn.PolicyAddress.ZipCode, policyReturn.PolicyAddress.ZipCode4, policyReturn.PolicyAddress.ZipCode2);\r\n }\r\n\r\n if (policyDetails.NamedInsured1) { policyReturn.InsuredNames = policyDetails.NamedInsured1; }\r\n\r\n if (policyDetails.NamedInsured2) { policyReturn.InsuredNames += `<br />${policyDetails.NamedInsured2}`; }\r\n\r\n if (policyDetails.NamedInsuredOne) { policyReturn.InsuredNames = policyDetails.NamedInsuredOne; }\r\n\r\n if (policyDetails.NamedInsuredTwo) { policyReturn.InsuredNames += `<br />${policyDetails.NamedInsuredTwo}`; }\r\n\r\n if (policyDetails.PolicyDescription) {\r\n policyReturn.PolicyDescription = policyDetails.PolicyDescription;\r\n }\r\n\r\n if (policyDetails.WritingCompany) {\r\n policyReturn.WritingCompany = policyDetails.WritingCompany;\r\n } else if (policyDetails.WritingCompanyName) {\r\n policyReturn.WritingCompany = policyDetails.WritingCompanyName;\r\n }\r\n\r\n if (policyDetails.BillingInformation || policyDetails.PolicyBilling) {\r\n const policyBilling = (policyDetails.PolicyBilling) ? policyDetails.PolicyBilling : policyDetails.BillingInformation;\r\n\r\n if (!policyBilling.TermPremiumAmount) {\r\n if (policyDetails.AgreementInformation && policyDetails.AgreementInformation.ActualPremiumAmount) {\r\n policyReturn.TermPremiumAmount = policyReturn.AgreementInformation.ActualPremiumAmount;\r\n }\r\n } else {\r\n policyReturn.TermPremiumAmount = policyBilling.TermPremiumAmount;\r\n }\r\n\r\n if (!policyBilling.BilledPremiumAmount) {\r\n if (policyDetails.AgreementInformation && policyDetails.AgreementInformation.PolicyPremiumAmount) {\r\n policyReturn.BilledPremiumAmount = policyReturn.AgreementInformation.PolicyPremiumAmount;\r\n }\r\n } else {\r\n policyReturn.BilledPremiumAmount = policyBilling.BilledPremiumAmount;\r\n }\r\n\r\n if (!policyBilling.PremiumAdjustment) {\r\n if (policyDetails.AgreementInformation && policyDetails.AgreementInformation.AdjustmentToMinimum) {\r\n policyReturn.Adjustments = policyReturn.AgreementInformation.AdjustmentToMinimum;\r\n }\r\n } else {\r\n policyReturn.Adjustments = policyBilling.PremiumAdjustment;\r\n }\r\n\r\n policyReturn.PreviousDebitCredit = policyBilling.PreviousDebitCredit;\r\n policyReturn.NextPaymentDueDate = policyBilling.NextPaymentDueDate;\r\n policyReturn.TheftFee = policyBilling.TheftFee;\r\n policyReturn.TotalDiscounts = policyBilling.TotalDiscounts;\r\n\r\n if (policyBilling.PaymentHistory && policyBilling.PaymentHistory.length > 0) {\r\n for (let p = 0; p < policyBilling.PaymentHistory.length; p += 1) {\r\n const payment = policyBilling.PaymentHistory[p];\r\n if (payment && payment.PaymentDate && payment.PaymentDate !== null && payment.PaymentDate !== '') {\r\n const paymentDate = payment.PaymentDate.split('-');\r\n if (paymentDate.length > 2) {\r\n if (paymentDate[2].length > 2) {\r\n // Last part is a year, so we have to rearrange the date parts\r\n payment.PaymentDate = `${paymentDate[2]}-${paymentDate[0]}-${paymentDate[1]}`;\r\n }\r\n }\r\n }\r\n }\r\n policyReturn.Payments = policyBilling.PaymentHistory;\r\n } else {\r\n policyReturn.Payments = [];\r\n }\r\n }\r\n\r\n if (policyDetails.TheftFee && (!policyReturn.TheftFee || policyReturn.TheftFee === '0' || policyReturn.TheftFee === '')) {\r\n policyReturn.TheftFee = policyDetails.TheftFee;\r\n }\r\n\r\n if (policyDetails.PolicyLimit) {\r\n policyReturn.PolicyLimit = policyDetails.PolicyLimit;\r\n }\r\n\r\n if (policyDetails.PremiumAmount && (policyReturn.TermPremiumAmount === '0' || policyReturn.TermPremiumAmount === '')) {\r\n policyReturn.TermPremiumAmount = policyDetails.PremiumAmount;\r\n }\r\n\r\n if (policyDetails.Endorsements) {\r\n for (let e = 0; e < policyDetails.Endorsements.length; e += 1) {\r\n const endorsement = policyDetails.Endorsements[e];\r\n if (endorsement && endorsement.Number && policyEndorsements.indexOf(endorsement.Number) === -1) {\r\n policyEndorsements.push({\r\n Id: endorsement.Number, Name: (endorsement.Description || 'Unavailable'), Premium: endorsement.Premium, Limit: endorsement.LimitsOfLiability,\r\n });\r\n }\r\n }\r\n }\r\n\r\n if (policyDetails.Discounts) {\r\n for (let d = 0; d < policyDetails.Discounts.length; d += 1) {\r\n const discount = policyDetails.Discounts[d];\r\n if (discount) {\r\n if (discount.Description) {\r\n discount.Description = discount.Description.replace('Sec 1 And 2 ', '');\r\n }\r\n\r\n if (policyDiscounts.indexOf(discount.Description) === -1 && discount.DiscountAmount !== '' && discount.DiscountAmount !== '0') {\r\n policyDiscounts.push({ Name: discount.Description, DiscountAmount: discount.DiscountAmount, PremiumAdjustment: discount.PremiumAdjustment });\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (policyDetails.SectionIProperty) {\r\n if (policyDetails.SectionIProperty.Discounts) {\r\n for (let d = 0; d < policyDetails.SectionIProperty.Discounts.length; d += 1) {\r\n const discount = policyDetails.SectionIProperty.Discounts[d];\r\n if (discount) {\r\n if (discount.DiscountAmount) {\r\n if (discount.DiscountAmount !== '') {\r\n if (discount.DiscountAmount.indexOf('%') === -1) {\r\n discount.DiscountAmount = `${(Number(discount.DiscountAmount) * 100)}%`;\r\n }\r\n } else if (discount.PremiumAdjustment) {\r\n discount.DiscountAmount = discount.PremiumAdjustment.toString();\r\n }\r\n }\r\n\r\n if (policyDiscounts.indexOf(discount.Description) === -1 && discount.DiscountAmount !== '' && discount.DiscountAmount !== '0') {\r\n policyDiscounts.push({ Description: discount.Description, DiscountAmount: discount.DiscountAmount, PremiumAdjustment: discount.PremiumAdjustment });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (policyDetails.PremisesInformation) {\r\n policyReturn.Construction = policyDetails.PremisesInformation.Construction;\r\n policyReturn.PropertyLocation = policyDetails.PremisesInformation.LocationOfProperty;\r\n\r\n if (policyDetails.PremisesInformation.InterestedThirdParty) {\r\n for (let m = 0; m < policyDetails.PremisesInformation.InterestedThirdParty.length; m += 1) {\r\n const mortgagee = policyDetails.PremisesInformation.InterestedThirdParty[m];\r\n if (mortgagee && mortgagee.Name && policyMortgagees.indexOf(mortgagee.Name) === -1 && policyMortgagees.indexOf(mortgagee.LoanNumber) === -1) {\r\n policyMortgagees.push({\r\n Name: mortgagee.Name, AdditionalName: mortgagee.AdditionalName, LoanNumber: mortgagee.LoanNumber, Address: mortgagee.Address,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (policyDetails.PropertyInformation) {\r\n policyReturn.Construction = policyDetails.PropertyInformation.Construction;\r\n policyReturn.PropertyLocation = policyDetails.PropertyInformation.LocationOfProperty;\r\n\r\n if (policyDetails.PropertyInformation.Mortgagees) {\r\n for (let m = 0; m < policyDetails.PropertyInformation.Mortgagees.length; m += 1) {\r\n const mortgagee = policyDetails.PropertyInformation.Mortgagees[m];\r\n if (mortgagee && mortgagee.Name && policyMortgagees.indexOf(mortgagee.Name) === -1 && policyMortgagees.indexOf(mortgagee.LoanNumber) === -1) {\r\n policyMortgagees.push({\r\n Name: mortgagee.Name, AdditionalName: mortgagee.AdditionalName, LoanNumber: mortgagee.LoanNumber, Address: mortgagee.Address,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (policyDetails.FarmLocations) {\r\n for (let l = 0; l < policyDetails.FarmLocations.length; l += 1) {\r\n const location = policyDetails.FarmLocations[l];\r\n if (location) {\r\n if (location.Dwellings) {\r\n for (let d = 0; d < location.Dwellings.length; d += 1) {\r\n const dwelling = location.Dwellings[d];\r\n if (dwelling) {\r\n if (dwelling.Type && dwelling.Type.toUpperCase() === 'MAIN DWELLING') {\r\n policyReturn.PropertyConstruction = dwelling.Construction;\r\n\r\n if (dwelling.Address) {\r\n policyReturn.PropertyLocation = helpers.methods.buildSingleLineAddress(dwelling.Address.Address1, dwelling.Address.Address2, dwelling.Address.Address3, dwelling.Address.City,\r\n dwelling.Address.State, dwelling.Address.ZipCode, dwelling.Address.ZipCode4, dwelling.Address.ZipCode2);\r\n }\r\n\r\n if (dwelling.Mortgagees) {\r\n for (let m = 0; m < dwelling.Mortgagees.length; m += 1) {\r\n const mortgagee = dwelling.Mortgagees[m];\r\n if (mortgagee && policyMortgagees.indexOf(mortgagee.Name) === -1 && policyMortgagees.indexOf(mortgagee.LoanNumber) === -1) {\r\n policyMortgagees.push({\r\n Name: mortgagee.Name, AdditionalName: mortgagee.AdditionalName, LoanNumber: mortgagee.LoanNumber, Address: mortgagee.Address,\r\n });\r\n }\r\n }\r\n } else if (dwelling.InterestedThirdParty) {\r\n for (let m = 0; m < dwelling.InterestedThirdParty.length; m += 1) {\r\n const mortgagee = dwelling.InterestedThirdParty[m];\r\n if (mortgagee && policyMortgagees.indexOf(mortgagee.Name) === -1 && policyMortgagees.indexOf(mortgagee.LoanNumber) === -1) {\r\n policyMortgagees.push({\r\n Name: mortgagee.Name, AdditionalName: mortgagee.AdditionalName, LoanNumber: mortgagee.LoanNumber, Address: mortgagee.Address,\r\n });\r\n }\r\n }\r\n }\r\n\r\n // TAA Section I\r\n if (dwelling.Coverages) {\r\n for (let c = 0; c < dwelling.Coverages.length; c += 1) {\r\n const coverage = dwelling.Coverages[c];\r\n if (coverage) {\r\n policyCoverages.push({ Description: coverage.Description, AmountDescription: coverage.AmountDescription, Limit: coverage.Limit });\r\n }\r\n }\r\n }\r\n\r\n if (dwelling.Discounts) {\r\n for (let s = 0; s < dwelling.Discounts.length; s += 1) {\r\n const discount = dwelling.Discounts[s];\r\n if (discount) {\r\n if (discount.DiscountAmount) {\r\n if (discount.DiscountAmount !== '') {\r\n if (discount.DiscountAmount.indexOf('%') === -1) {\r\n discount.DiscountAmount = `${(Number(discount.DiscountAmount) * 100)}%`;\r\n }\r\n } else if (discount.PremiumAdjustment) {\r\n discount.DiscountAmount = discount.PremiumAdjustment.toString();\r\n }\r\n }\r\n\r\n if (policyDiscounts.indexOf(discount.Description) === -1 && discount.DiscountAmount !== '' && discount.DiscountAmount !== '0') {\r\n // New discount\r\n policyDiscounts.push({ Name: discount.Description, DiscountAmount: discount.DiscountAmount, PremiumAdjustment: discount.PremiumAdjustment });\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (policyDetails.PolicyType === 'AA' || policyDetails.PolicyType === 'AT') {\r\n if (dwelling.Endorsements) {\r\n for (let e = 0; e < dwelling.Endorsements.length; e += 1) {\r\n const endorsement = dwelling.Endorsements[e];\r\n if (endorsement && endorsement.Number) {\r\n if (endorsement.Number.indexOf('TC-') !== -1) {\r\n endorsement.Number = endorsement.Number.replace('TC-', 'TAA-');\r\n }\r\n\r\n if (policyEndorsements.indexOf(endorsement.Number) === -1) {\r\n // New endorsement\r\n policyEndorsements.push({\r\n Id: endorsement.Number, Name: (endorsement.ItemDescription || 'Unavailable'), Premium: endorsement.Premium, Limit: endorsement.LimitsOfLiability,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n // TAA Section III\r\n policySecIIICoverages.push({ ItemNumber: dwelling.ItemNumber, Description: dwelling.Type, CoverageAmount: dwelling.Limit });\r\n\r\n if (dwelling.Mortgagees) {\r\n for (let m = 0; m < dwelling.Mortgagees.length; m += 1) {\r\n const mortgagee = dwelling.Mortgagees[m];\r\n if (mortgagee && policyMortgagees.indexOf(mortgagee.Name) === -1 && policyMortgagees.indexOf(mortgagee.LoanNumber) === -1) {\r\n policyMortgagees.push({\r\n Name: mortgagee.Name, AdditionalName: mortgagee.AdditionalName, LoanNumber: mortgagee.LoanNumber, Address: mortgagee.Address,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (location.Barns) {\r\n for (let b = 0; b < location.Barns.length; b += 1) {\r\n const barn = location.Barns[b];\r\n if (barn) {\r\n policySecIIICoverages.push({ ItemNumber: barn.ItemNumber, Description: barn.TypeOfUse, CoverageAmount: barn.CoverageAmount });\r\n\r\n if (barn.Mortgagees) {\r\n for (let m = 0; m < barn.Mortgagees.length; m += 1) {\r\n const mortgagee = barn.Mortgagees[m];\r\n if (mortgagee && policyMortgagees.indexOf(mortgagee.Name) === -1 && policyMortgagees.indexOf(mortgagee.LoanNumber) === -1) {\r\n policyMortgagees.push({\r\n Name: mortgagee.Name, AdditionalName: mortgagee.AdditionalName, LoanNumber: mortgagee.LoanNumber, Address: mortgagee.Address,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (location.BarnContents) {\r\n for (let c = 0; c < location.BarnContents.length; c += 1) {\r\n const barnContents = location.BarnContents[c];\r\n if (barnContents) {\r\n if (!barnContents.Description) {\r\n barnContents.Description = barnContents.FarmBuildingContentsType;\r\n }\r\n\r\n policySecIIICoverages.push({ ItemNumber: barnContents.ItemNumber, Description: barnContents.Description, CoverageAmount: barnContents.CoverageAmount });\r\n }\r\n }\r\n }\r\n\r\n if (location.LDW) {\r\n for (let w = 0; w < location.LDW.length; w += 1) {\r\n const ldw = location.LDW[w];\r\n if (ldw) {\r\n policyCoverages.push({ Description: ldw.Description, AmountDescription: '', Limit: ldw.MedicalPayments });\r\n }\r\n }\r\n }\r\n\r\n if (location.OTR) {\r\n for (let o = 0; o < location.OTR.length; o += 1) {\r\n const otr = location.OTR[o];\r\n if (otr) {\r\n policySecIIICoverages.push({ ItemNumber: otr.ItemNumber, Description: otr.Description, CoverageAmount: otr.CoverageAmount });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (policyDetails.Coverages) {\r\n for (let c = 0; c < policyDetails.Coverages.length; c += 1) {\r\n const coverage = policyDetails.Coverages[c];\r\n if (coverage) {\r\n // Handle Majesco policy coverages\r\n if (policyDetails.PolicyType === 'CF' || policyDetails.PolicyType === 'CP' || policyDetails.PolicyType === 'TC') {\r\n coverage.LocationAddress = helpers.methods.buildSingleLineAddress(coverage.AddressLineOne, coverage.AddressLineTwo, null, coverage.AddressCity,\r\n coverage.AddressState, coverage.AddressZipCode, coverage.AddressZipCodePlusFour, coverage.AddressZipCodePlusTwo);\r\n } else {\r\n if (coverage.Limit && coverage.Limit.indexOf('/') !== -1) {\r\n // Split limit and format pieces\r\n const splitLimit = coverage.Limit.split('/');\r\n coverage.Limit = `${helpers.methods.formatMoney(splitLimit[0].toString(), 0)}/${helpers.methods.formatMoney(splitLimit[1].toString(), 0)}`;\r\n }\r\n if (coverage.LossPayee) {\r\n for (let m = 0; m < coverage.LossPayee.length; m += 1) {\r\n const mortgagee = coverage.LossPayee[m];\r\n if (mortgagee && mortgagee.Name && policyMortgagees.indexOf(mortgagee.Name) === -1 && policyMortgagees.indexOf(mortgagee.LoanNumber) === -1) {\r\n policyMortgagees.push({\r\n Name: mortgagee.Name, AdditionalName: mortgagee.AdditionalName, LoanNumber: mortgagee.LoanNumber, Address: mortgagee.Address,\r\n });\r\n }\r\n }\r\n }\r\n\r\n policyCoverages.push({\r\n Description: coverage.Description, ItemNumberDescription: coverage.ItemNumberDescription, AmountDescription: coverage.AmountDescription, Limit: coverage.Limit,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n // TAA Section I & II\r\n if (policyDetails.BusinessPursuits) {\r\n for (let b = 0; b < policyDetails.BusinessPursuits.length; b += 1) {\r\n const businessPursuits = policyDetails.BusinessPursuits[b];\r\n if (businessPursuits && businessPursuits.Coverages) {\r\n for (let c = 0; c < businessPursuits.Coverages.length; c += 1) {\r\n const coverage = businessPursuits.Coverages[c];\r\n if (coverage) {\r\n policyCoverages.push({ Description: coverage.Description, AmountDescription: coverage.AmountDescription, Limit: coverage.Limit });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (policyDetails.NonFarmLocations) {\r\n for (let n = 0; n < policyDetails.NonFarmLocations.length; n += 1) {\r\n const nonFarmLocations = policyDetails.NonFarmLocations[n];\r\n if (nonFarmLocations && nonFarmLocations.FLI) {\r\n for (let f = 0; f < nonFarmLocations.FLI.length; f += 1) {\r\n const fli = nonFarmLocations.FLI[f];\r\n if (fli && fli.Coverages) {\r\n for (let c = 0; c < fli.Coverages.length; c += 1) {\r\n const coverage = fli.Coverages[c];\r\n policyCoverages.push({ Description: coverage.Description, AmountDescription: coverage.AmountDescription, Limit: coverage.Limit });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (policyDetails.Watercraft) {\r\n for (let w = 0; w < policyDetails.Watercraft.length; w += 1) {\r\n const watercraft = policyDetails.Watercraft[w];\r\n if (watercraft && watercraft.Coverages) {\r\n for (let c = 0; c < watercraft.Coverages.length; c += 1) {\r\n const coverage = watercraft.Coverages[c];\r\n if (coverage) {\r\n policyCoverages.push({ Description: coverage.Description, AmountDescription: coverage.AmountDescription, Limit: coverage.Limit });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // TAA Section IV\r\n if (policyDetails.FarmEquipment) {\r\n for (let f = 0; f < policyDetails.FarmEquipment.length; f += 1) {\r\n const farmEquipment = policyDetails.FarmEquipment[f];\r\n if (farmEquipment && farmEquipment.CoverageAmount !== 'INACTIVE') {\r\n if (farmEquipment.Year) {\r\n policySecIVCoverages.push({\r\n ItemNumber: farmEquipment.ItemNumber, Description: `${farmEquipment.Year} ${farmEquipment.Make} ${farmEquipment.Model}`, CoverageAmount: farmEquipment.CoverageAmount,\r\n });\r\n } else {\r\n policySecIVCoverages.push({ ItemNumber: farmEquipment.ItemNumber, Description: farmEquipment.Description, CoverageAmount: farmEquipment.CoverageAmount });\r\n }\r\n\r\n if (farmEquipment.Mortgagees) {\r\n for (let m = 0; m < farmEquipment.Mortgagees.length; m += 1) {\r\n const mortgagee = farmEquipment.Mortgagees[m];\r\n if (mortgagee && policyMortgagees.indexOf(mortgagee.Name) === -1 && policyMortgagees.indexOf(mortgagee.LoanNumber) === -1) {\r\n policyMortgagees.push({\r\n Name: mortgagee.Name, AdditionalName: mortgagee.AdditionalName, LoanNumber: mortgagee.LoanNumber, Address: mortgagee.Address,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (policyDetails.SpecialtyEquipment) {\r\n for (let s = 0; s < policyDetails.SpecialtyEquipment.length; s += 1) {\r\n const specialtyEquipment = policyDetails.SpecialtyEquipment[s];\r\n if (specialtyEquipment) {\r\n policySecIVCoverages.push({ ItemNumber: specialtyEquipment.ItemNumber, Description: specialtyEquipment.Description, CoverageAmount: specialtyEquipment.CoverageAmount });\r\n }\r\n }\r\n }\r\n\r\n if (policyDetails.PivotSprinklers) {\r\n for (let p = 0; p < policyDetails.PivotSprinklers.length; p += 1) {\r\n const pivotSprinklers = policyDetails.PivotSprinklers[p];\r\n if (pivotSprinklers) {\r\n policySecIVCoverages.push({ ItemNumber: pivotSprinklers.ItemNumber, Description: pivotSprinklers.Description, CoverageAmount: pivotSprinklers.CoverageAmount });\r\n }\r\n }\r\n }\r\n\r\n if (policyDetails.Irrigation) {\r\n for (let i = 0; i < policyDetails.Irrigation.length; i += 1) {\r\n const irrigation = policyDetails.Irrigation[i];\r\n if (irrigation) {\r\n policySecIVCoverages.push({ ItemNumber: irrigation.ItemNumber, Description: irrigation.Description, CoverageAmount: irrigation.CoverageAmount });\r\n }\r\n }\r\n }\r\n\r\n // CPP/GL Locations\r\n if (policyDetails.Locations && policyDetails.PolicySubType !== '3') {\r\n for (let l = 0; l < policyDetails.Locations.length; l += 1) {\r\n const location = policyDetails.Locations[l];\r\n if (location && location.AddressLineOne && location.AddressLineOne !== null) {\r\n location.LocationAddress = helpers.methods.buildSingleLineAddress(location.AddressLineOne, location.AddressLineTwo, null, location.AddressCity,\r\n location.AddressState, location.AddressZipCode, location.AddressZipCodePlusFour, location.AddressZipCodePlusTwo);\r\n }\r\n }\r\n\r\n policyReturn.Locations = policyDetails.Locations;\r\n }\r\n\r\n // Do we have drivers?\r\n if (policyDetails.CoveredDrivers) {\r\n for (let d = 0; d < policyDetails.CoveredDrivers.length; d += 1) {\r\n const driver = policyDetails.CoveredDrivers[d];\r\n if (driver) {\r\n if (driver.FirstName && driver.LastName) {\r\n driver.Name = `${driver.FirstName.trim()} ${driver.LastName.trim()}`;\r\n } else {\r\n driver.Name = 'Unknown';\r\n }\r\n if (driver.DateOfBirth) {\r\n driver.DateOfBirth = helpers.methods.formatYearDate(driver.DateOfBirth);\r\n } else {\r\n driver.DateOfBirth = 'N/A';\r\n }\r\n if (driver.DriversLicenseNumber) {\r\n driver.MaskedDriversLicenseNumber = helpers.methods.maskString(driver.DriversLicenseNumber, '4', 'X');\r\n } else {\r\n driver.MaskedDriversLicenseNumber = 'N/A';\r\n }\r\n }\r\n }\r\n\r\n policyReturn.CoveredDrivers = policyDetails.CoveredDrivers;\r\n }\r\n\r\n // Do we have vehicles?\r\n if (policyDetails.Vehicles) {\r\n // Loop through the vehicles\r\n for (let v = 0; v < policyDetails.Vehicles.length; v += 1) {\r\n const vehicle = policyDetails.Vehicles[v];\r\n const filteredVehicleCoverages = [];\r\n\r\n // Do we have a vehicle?\r\n if (vehicle) {\r\n // Calculate the vehicle premium by adding the total coverage premium to the total discounts\r\n if (vehicle.TotalCoveragePremium && vehicle.TotalDiscounts && !_.isNaN(vehicle.TotalCoveragePremium) && !_.isNaN(vehicle.TotalDiscounts)) {\r\n vehicle.CurrentVehiclePremium = (Number(vehicle.TotalCoveragePremium) + Number(vehicle.TotalDiscounts));\r\n }\r\n\r\n // Do we have a Class Code?\r\n if (vehicle.ClassCode) {\r\n // Have a Class Code; do we have a Vehicle Class Code?\r\n if (!vehicle.VehicleClass) {\r\n // No Vehicle Class Code; set Vehicle Class Code to Class Code\r\n vehicle.VehicleClass = vehicle.ClassCode;\r\n }\r\n // else - we have both so all is well\r\n } else if (vehicle.VehicleClass) {\r\n // Have Vehicle Class Code; set Class Code to Vehicle Class Code\r\n vehicle.ClassCode = vehicle.VehicleClass;\r\n }\r\n\r\n if (vehicle.LienHolders && vehicle.LienHolders.length > 0) {\r\n for (let l = 0; l < vehicle.LienHolders.length; l += 1) {\r\n const lienholder = vehicle.LienHolders[l];\r\n // Do we have a vehicle with a lienholder?\r\n if (lienholder && lienholder.Address && lienholder.Address.City) {\r\n // Build the coverage section name\r\n lienholder.LienHolderAddress = helpers.methods.buildSingleLineAddress(lienholder.Address.Address1, lienholder.Address.Address2, lienholder.Address.Address3,\r\n lienholder.Address.City, lienholder.Address.State, lienholder.Address.ZipCode, lienholder.Address.ZipCode4, null);\r\n } else if (lienholder && lienholder.Address) {\r\n // Build the coverage section name\r\n lienholder.LienHolderAddress = lienholder.Address;\r\n } else {\r\n lienholder.LienHolderAddress = '';\r\n }\r\n }\r\n }\r\n\r\n // Is this a Legacy Six Month policy?\r\n if (policyDetails.PolicyType === 'SM' && policyDetails.PolicySubType === '0') {\r\n if (vehicle.Coverages) {\r\n for (let c = 0; c < vehicle.Coverages.length; c += 1) {\r\n const coverage = vehicle.Coverages[c];\r\n if (coverage) {\r\n coverage.CoverageTypeDisplay = coverage.CoverageType;\r\n coverage.CoverageLimitDisplay = coverage.Limit;\r\n filteredVehicleCoverages.push(coverage);\r\n }\r\n }\r\n\r\n vehicle.Coverages = filteredVehicleCoverages;\r\n }\r\n }\r\n\r\n // Do we have vehicle discounts?\r\n if (vehicle.Discounts) {\r\n let vehicleDiscounts = '';\r\n const cleanedVehicleDiscounts = [];\r\n\r\n for (let d = 0; d < vehicle.Discounts.length; d += 1) {\r\n const discount = vehicle.Discounts[d];\r\n if (discount && vehicleDiscounts.indexOf(discount.DiscountType) === -1) {\r\n vehicleDiscounts += `,${discount.DiscountType}`;\r\n\r\n // Clean up the wording to match the Vehicle level field name\r\n let cleanedDiscountType = helpers.methods.replaceAll(discount.DiscountType, '-', '');\r\n cleanedDiscountType = helpers.methods.replaceAll(cleanedDiscountType, ' ', '');\r\n cleanedDiscountType = helpers.methods.replaceAll(cleanedDiscountType, '5064', '50To64');\r\n cleanedDiscountType = helpers.methods.replaceAll(cleanedDiscountType, 'Restraints', 'Restraint');\r\n cleanedDiscountType = helpers.methods.replaceAll(cleanedDiscountType, 'Acheivement', 'Achievement');\r\n cleanedDiscountType = `${cleanedDiscountType}Description`;\r\n\r\n discount.DescriptionDisplay = vehicle[cleanedDiscountType];\r\n if (discount.DiscountAmount) {\r\n if (discount.DiscountAmount !== '') {\r\n if (discount.DiscountAmount.indexOf('%') === -1) {\r\n discount.DiscountAmount = `${(Number(discount.DiscountAmount) * 100)}%`;\r\n }\r\n } else if (discount.PremiumAdjustment) {\r\n discount.DiscountAmount = helpers.methods.formatMoney(discount.PremiumAdjustment.toString(), 2);\r\n }\r\n }\r\n\r\n cleanedVehicleDiscounts.push(discount);\r\n }\r\n }\r\n\r\n vehicle.Discounts = cleanedVehicleDiscounts;\r\n }\r\n\r\n // Does this vehicle have endorsements?\r\n if (!vehicle.Endorsements || vehicle.Endorsements.length <= 0) {\r\n // No vehicle endorsements; set vehicle endorsements to policy endorsements\r\n vehicle.Endorsements = policyDetails.Endorsements;\r\n }\r\n }\r\n }\r\n\r\n policyReturn.Vehicles = policyDetails.Vehicles;\r\n }\r\n\r\n // Sort the accumulated discounts and set them to the policy level Discounts\r\n if (policyDiscounts.length > 0) {\r\n policyReturn.Discounts = _.sortBy(policyDiscounts, ['Name']);\r\n } else {\r\n policyReturn.Discounts = policyDiscounts;\r\n }\r\n\r\n // Sort the accumulated endorsements and set them to the policy level Endorsements\r\n if (policyEndorsements.length > 0) {\r\n policyReturn.Endorsements = _.sortBy(policyEndorsements, ['Id']);\r\n } else {\r\n policyReturn.Endorsements = policyEndorsements;\r\n }\r\n\r\n if ((policyDetails.PolicyType === 'CF' || policyDetails.PolicyType === 'CP' || policyDetails.PolicyType === 'TC') && policyDetails.PolicySubType !== '3') {\r\n policyReturn.Coverages = policyDetails.Coverages;\r\n } else {\r\n // Set the accumulated coverages to the policy level coverages\r\n policyReturn.Coverages = policyCoverages;\r\n }\r\n\r\n // Set the accumulated coverages to the policy level coverages\r\n policyReturn.SectionIIICoverages = policySecIIICoverages;\r\n\r\n // Set the accumulated coverages to the policy level coverages\r\n policyReturn.SectionIVCoverages = policySecIVCoverages;\r\n\r\n // Set the accumulated mortgagees to the policy level Mortgagees\r\n policyReturn.Mortgagees = policyMortgagees;\r\n }\r\n\r\n // console.log(policyReturn);\r\n return policyReturn;\r\n } catch (error) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'policy.js', methodName: 'policyDetailsTransform', trackerId: tfbId,\r\n }, { root: true });\r\n return policyReturn;\r\n }\r\n}\r\n\r\nfunction getDefaultState() {\r\n return {\r\n policyNumber: '',\r\n accountSummary: [],\r\n paperlessRequest: null,\r\n hasGuidewirePolicies: null,\r\n hasLegacyPolicies: null,\r\n };\r\n}\r\n\r\n// mutations\r\nconst mutations = {\r\n SET_ACCOUNT_SUMMARY(state, value) {\r\n const parsed = JSON.stringify(value);\r\n sessionStorage.setItem('tfb_summary', parsed);\r\n\r\n state.accountSummary = value;\r\n },\r\n CLEAR_ACCOUNT_SUMMARY(state) {\r\n sessionStorage.removeItem('tfb_summary');\r\n\r\n state.accountSummary = [];\r\n },\r\n CLEAR_HAS_GUIDEWIRE_LEGACY(state) {\r\n sessionStorage.removeItem('tfb_hasguidewire');\r\n sessionStorage.removeItem('tfb_haslegacy');\r\n\r\n state.hasGuidewirePolicies = false;\r\n state.hasLegacyPolicies = false;\r\n },\r\n SET_PAPERLESS_REQUEST(state, value) {\r\n state.paperlessRequest = value;\r\n },\r\n SET_HAS_GUIDEWIRE_POLICIES(state, value) {\r\n // Save to sessionStorage\r\n sessionStorage.setItem('tfb_hasguidewire', value);\r\n state.hasGuidewirePolicies = value;\r\n },\r\n SET_HAS_LEGACY_POLICIES(state, value) {\r\n // Save to sessionStorage\r\n sessionStorage.setItem('tfb_haslegacy', value);\r\n state.hasLegacyPolicies = value;\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n};\r\n\r\n// getters\r\nconst getters = {\r\n accountSummary(state) {\r\n if (!state.accountSummary || state.accountSummary === null || state.accountSummary.length === 0) {\r\n const tfbSummary = sessionStorage.getItem('tfb_summary');\r\n if (tfbSummary !== null) {\r\n const tfbParsedSummary = JSON.parse(tfbSummary);\r\n state.accountSummary = tfbParsedSummary;\r\n }\r\n }\r\n\r\n return state.accountSummary;\r\n },\r\n paperlessRequest(state) {\r\n return state.paperlessRequest;\r\n },\r\n hasGuidewirePolicies(state) {\r\n if (!state.hasGuidewirePolicies || state.hasGuidewirePolicies === null) {\r\n if (sessionStorage.getItem('tfb_hasguidewire') === 'true') {\r\n state.hasGuidewirePolicies = true;\r\n } else {\r\n state.hasGuidewirePolicies = false;\r\n }\r\n }\r\n\r\n // Make sure we're returning a boolean\r\n if (state.hasGuidewirePolicies === 'true') {\r\n state.hasGuidewirePolicies = true;\r\n }\r\n\r\n if (state.hasGuidewirePolicies === 'false') {\r\n state.hasGuidewirePolicies = false;\r\n }\r\n\r\n return state.hasGuidewirePolicies;\r\n },\r\n hasLegacyPolicies(state) {\r\n if (!state.hasLegacyPolicies || state.hasLegacyPolicies === null) {\r\n if (sessionStorage.getItem('tfb_haslegacy') === 'true') {\r\n state.hasLegacyPolicies = true;\r\n } else {\r\n state.hasLegacyPolicies = false;\r\n }\r\n }\r\n\r\n // Make sure we're returning a boolean\r\n if (state.hasLegacyPolicies === 'true') {\r\n state.hasLegacyPolicies = true;\r\n }\r\n\r\n if (state.hasLegacyPolicies === 'false') {\r\n state.hasLegacyPolicies = false;\r\n }\r\n\r\n return state.hasLegacyPolicies;\r\n },\r\n};\r\n\r\n// state\r\nconst state = getDefaultState();\r\n\r\n// actions\r\nconst actions = {\r\n getAccountSummary(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'policy.js', methodName: 'getAccountSummary-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (state.accountSummary && state.accountSummary.length > 0) {\r\n return state.accountSummary;\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${policyLookupServiceUrl}/Account/Summary/${sRequest.sMemberNumber.trim()}?access_token=${ssoToken}`, config)\r\n .then((policyResult) => {\r\n if (policyResult && policyResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(policyResult.data), fileName: 'policy.js', methodName: 'getAccountSummary-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (policyResult.data.ErrorMessage === null || policyResult.data.ErrorMessage === '') {\r\n const accountSummary = summaryTransform(policyResult.data, context, sRequest.sTfbId);\r\n context.commit('SET_ACCOUNT_SUMMARY', accountSummary);\r\n\r\n if (policyResult.data.GuidewirePolicyCount > 0) {\r\n context.commit('SET_HAS_GUIDEWIRE_POLICIES', true);\r\n } else {\r\n context.commit('SET_HAS_GUIDEWIRE_POLICIES', false);\r\n }\r\n if (policyResult.data.LegacyPolicyCount > 0) {\r\n context.commit('SET_HAS_LEGACY_POLICIES', true);\r\n } else {\r\n context.commit('SET_HAS_LEGACY_POLICIES', false);\r\n }\r\n\r\n resolve(accountSummary);\r\n } else {\r\n reject(new Error(policyResult.data.ErrorMessage));\r\n }\r\n }\r\n\r\n reject(new Error(genericErrorMessage));\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'policy.js', methodName: 'getAccountSummary-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getPolicyDetails(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'policy.js', methodName: 'getPolicyDetails-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n let foundPolicyDetails = null;\r\n const tfbSummary = sessionStorage.getItem('tfb_summary');\r\n\r\n if (tfbSummary !== null) {\r\n const tfbParsedSummary = JSON.parse(tfbSummary);\r\n for (let i = 0; i < tfbParsedSummary.length; i += 1) {\r\n if (tfbParsedSummary[i].PolicyNumber.toUpperCase() === sRequest.sPolicyNumber.toUpperCase()) {\r\n foundPolicyDetails = tfbParsedSummary[i];\r\n }\r\n }\r\n }\r\n\r\n if (foundPolicyDetails !== null) {\r\n if (sRequest.sPolicyType === 'six-month') {\r\n context.dispatch('getPA6PolicyInformation', {\r\n sPolicyDetail: foundPolicyDetails, sPolicyNumber: sRequest.sPolicyNumber, sTfbId: sRequest.sTfbId,\r\n })\r\n .then((policyResult) => {\r\n resolve(policyResult);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n } else if (sRequest.sPolicyType === 'commercial-auto') {\r\n context.dispatch('getCompAutoPolicyInformation', {\r\n sPolicyDetail: foundPolicyDetails, sPolicyNumber: sRequest.sPolicyNumber, sTfbId: sRequest.sTfbId,\r\n })\r\n .then((policyResult) => {\r\n resolve(policyResult);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n } else if (sRequest.sPolicyType === 'premium-finance') {\r\n context.dispatch('getPremiumFinanceInformation', {\r\n sPolicyDetail: foundPolicyDetails, sContractNumber: sRequest.sPolicyNumber, sTfbId: sRequest.sTfbId,\r\n })\r\n .then((policyResult) => {\r\n resolve(policyResult);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n } else if (sRequest.sPolicyType === 'texas-dwelling') {\r\n context.dispatch('getGuidewireSFPolicyInformation', {\r\n sPolicyDetail: foundPolicyDetails,\r\n sPolicyNumber: sRequest.sPolicyNumber,\r\n sPolicyType: foundPolicyDetails.PolicyType,\r\n sPolicySubType: foundPolicyDetails.PolicySubType,\r\n sPolicySymbol: foundPolicyDetails.PolicySymbol,\r\n sTfbId: sRequest.sTfbId,\r\n })\r\n .then((sfPolicyDetails) => {\r\n resolve(sfPolicyDetails);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n } else if (sRequest.sPolicyType === 'standard-fire' || sRequest.sPolicyType === 'inland-marine') {\r\n if (foundPolicyDetails.GuidewireFlag === 'Y') {\r\n context.dispatch('getGuidewireSFPolicyInformation', {\r\n sPolicyDetail: foundPolicyDetails,\r\n sPolicyNumber: sRequest.sPolicyNumber,\r\n sPolicyType: foundPolicyDetails.PolicyType,\r\n sPolicySubType: foundPolicyDetails.PolicySubType,\r\n sPolicySymbol: foundPolicyDetails.PolicySymbol,\r\n sTfbId: sRequest.sTfbId,\r\n })\r\n .then((sfPolicyDetails) => {\r\n resolve(sfPolicyDetails);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n } else {\r\n context.dispatch('getSFPolicyInformation', {\r\n sPolicyDetail: foundPolicyDetails,\r\n sPolicyNumber: sRequest.sPolicyNumber,\r\n sPolicyType: foundPolicyDetails.PolicyType,\r\n sPolicySubType: foundPolicyDetails.PolicySubType,\r\n sPolicySymbol: foundPolicyDetails.PolicySymbol,\r\n sTfbId: sRequest.sTfbId,\r\n })\r\n .then((sfPolicyDetails) => {\r\n resolve(sfPolicyDetails);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n }\r\n } else if (sRequest.sPolicyType === 'texas-agadvantage') {\r\n context.dispatch('getTAAPolicyInformation', {\r\n sPolicyDetail: foundPolicyDetails,\r\n sPolicyNumber: sRequest.sPolicyNumber,\r\n sPolicyType: foundPolicyDetails.PolicyType,\r\n sPolicySubType: foundPolicyDetails.PolicySubType,\r\n sTfbId: sRequest.sTfbId,\r\n })\r\n .then((policyResult) => {\r\n resolve(policyResult);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n } else if (sRequest.sPolicyType === 'homeowners') {\r\n context.dispatch('getHOLPolicyInformation', {\r\n sPolicyDetail: foundPolicyDetails,\r\n sPolicyNumber: sRequest.sPolicyNumber,\r\n sPolicyType: foundPolicyDetails.PolicyType,\r\n sPolicySubType: foundPolicyDetails.PolicySubType,\r\n sTfbId: sRequest.sTfbId,\r\n })\r\n .then((policyResult) => {\r\n resolve(policyResult);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n } else if (sRequest.sPolicyType === 'umbrella' || sRequest.sPolicyType === 'commercial-package' || sRequest.sPolicyType === 'commercial-fire'\r\n || sRequest.sPolicyType === 'general-liability' || sRequest.sPolicyType === 'farm-liability') {\r\n context.dispatch('getMajescoPolicyInformation', {\r\n sPolicyDetail: foundPolicyDetails,\r\n sPolicyNumber: sRequest.sPolicyNumber,\r\n sPolicyType: foundPolicyDetails.PolicyType,\r\n sPolicySubType: foundPolicyDetails.PolicySubType,\r\n sTfbId: sRequest.sTfbId,\r\n })\r\n .then((policyResult) => {\r\n resolve(policyResult);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n } else {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: `Unknown policy type: ${sRequest.sPolicyType}`, fileName: 'policy.js', methodName: 'getPolicyDetails-UnknownType', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(new Error(`Unknown policy type: ${sRequest.sPolicyType}`));\r\n }\r\n } else {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: 'No policy details found', fileName: 'policy.js', methodName: 'getPolicyDetails-NoDetails', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(new Error('No policy details found'));\r\n }\r\n });\r\n },\r\n getCompAutoPolicyInformation(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'policy.js', methodName: 'getCompAutoPolicyInformation-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${compAutoLookupServiceUrl}/Policy?PolicyNumber=${sRequest.sPolicyNumber}&PolicyType=CA&PolicySubType=0`, config)\r\n .then((policyResult) => {\r\n if (policyResult && policyResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(policyResult.data), fileName: 'policy.js', methodName: 'getCompAutoPolicyInformation-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n resolve(policyDetailsTransform(policyResult.data, context, sRequest.sPolicyDetail, sRequest.sTfbId));\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'policy.js', methodName: 'getCompAutoPolicyInformation-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getHOLPolicyInformation(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'policy.js', methodName: 'getHOLPolicyInformation-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${holLookupServiceUrl}/PolicyHolder/${sRequest.sPolicyNumber}/${sRequest.sPolicyType}/${sRequest.sPolicySubType}`, config)\r\n .then((policyResult) => {\r\n if (policyResult && policyResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(policyResult.data), fileName: 'policy.js', methodName: 'getHOLPolicyInformation-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n resolve(policyHolderPropertyTransform(policyResult.data, context, sRequest.sPolicyDetail, sRequest.sTfbId));\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'policy.js', methodName: 'getHOLPolicyInformation-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getPremiumFinanceInformation(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'policy.js', methodName: 'getPremiumFinanceInformation-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${premiumFinanceLookupServiceUrl}/PremiumFinance/Info/${sRequest.sContractNumber}`, config)\r\n .then((policyResult) => {\r\n if (policyResult && policyResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(policyResult.data), fileName: 'policy.js', methodName: 'getPremiumFinanceInformation-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (policyResult.data.ErrorMessage === null || policyResult.data.ErrorMessage === '') {\r\n resolve(premiumFinanceTransform(policyResult.data, context, sRequest.sPolicyDetail, sRequest.sTfbId));\r\n } else {\r\n reject(new Error(policyResult.data.ErrorMessage));\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'policy.js', methodName: 'getPremiumFinanceInformation-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getSFPolicyInformation(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'policy.js', methodName: 'getSFPolicyInformation-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n let url = standardFireLookupServiceUrl;\r\n if (sRequest.sPolicyType === 'PF' && sRequest.sPolicySubType === '0' && sRequest.sPolicyNumber.length < 9) {\r\n url += `/inland-marine/${sRequest.sPolicyNumber}/${sRequest.sPolicyType}/${sRequest.sPolicySubType}`;\r\n } else if (sRequest.sPolicyType === 'PF' && sRequest.sPolicySubType === '1' && sRequest.sPolicyNumber.length < 9) {\r\n url += `/inland-marine/policyholder/${sRequest.sPolicyNumber}/${sRequest.sPolicyType}/${sRequest.sPolicySubType}`;\r\n } else if (sRequest.sPolicyType === 'SF' && sRequest.sPolicySubType === '0' && sRequest.sPolicyNumber.length < 9) {\r\n url += `/standard-fire/${sRequest.sPolicyNumber}/${sRequest.sPolicyType}/${sRequest.sPolicySubType}`;\r\n } else if (sRequest.sPolicyType === 'SF' && sRequest.sPolicySubType === '1' && sRequest.sPolicyNumber.length < 9) {\r\n url += `/standard-fire/policyholder/${sRequest.sPolicyNumber}/${sRequest.sPolicyType}/${sRequest.sPolicySubType}`;\r\n } else if (sRequest.sPolicySymbol === 'INM') {\r\n url += `/inland-marine/policyholder/${sRequest.sPolicyNumber}`;\r\n } else if (sRequest.sPolicySymbol === 'STF' || sRequest.sPolicySymbol === 'TDP') {\r\n url += `/standard-fire/policyholder/${sRequest.sPolicyNumber}`;\r\n }\r\n\r\n axios.get(url, config)\r\n .then((sfPolicyDetailResult) => {\r\n if (sfPolicyDetailResult && sfPolicyDetailResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sfPolicyDetailResult.data), fileName: 'policy.js', methodName: 'getSFPolicyInformation-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (!sfPolicyDetailResult.data.ErrorMessage || sfPolicyDetailResult.data.ErrorMessage === null || sfPolicyDetailResult.data.ErrorMessage === '') {\r\n if (sRequest.sPolicySubType === '0') {\r\n resolve(policyDetailsTransform(sfPolicyDetailResult.data, context, sRequest.sPolicyDetail, sRequest.sTfbId));\r\n } else {\r\n resolve(policyHolderPropertyTransform(sfPolicyDetailResult.data, context, sRequest.sPolicyDetail, sRequest.sTfbId));\r\n }\r\n } else {\r\n reject(new Error(sfPolicyDetailResult.data.ErrorMessage));\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'policy.js', methodName: 'getSFPolicyInformation-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getGuidewireSFPolicyInformation(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'policy.js', methodName: 'getGuidewireSFPolicyInformation-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n let url = standardFireLookupServiceUrl;\r\n if (sRequest.sPolicySymbol === 'INM') {\r\n url += `/inland-marine/policyholder/${sRequest.sPolicyNumber}`;\r\n } else if (sRequest.sPolicySymbol === 'STF' || sRequest.sPolicySymbol === 'TDP') {\r\n url += `/standard-fire/policyholder/${sRequest.sPolicyNumber}`;\r\n }\r\n\r\n axios.get(url, config)\r\n .then((sfPolicyDetailResult) => {\r\n if (sfPolicyDetailResult && sfPolicyDetailResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sfPolicyDetailResult.data), fileName: 'policy.js', methodName: 'getSFPolicyInformation-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (!sfPolicyDetailResult.data.ErrorMessage || sfPolicyDetailResult.data.ErrorMessage === null || sfPolicyDetailResult.data.ErrorMessage === '') {\r\n resolve(policyHolderPropertyTransform(sfPolicyDetailResult.data, context, sRequest.sPolicyDetail, sRequest.sTfbId));\r\n } else {\r\n reject(new Error(sfPolicyDetailResult.data.ErrorMessage));\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'policy.js', methodName: 'getGuidewireSFPolicyInformation-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getPA6PolicyInformation(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'policy.js', methodName: 'getPA6PolicyInformation-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${pa6LookupServiceUrl}/policyholder/${sRequest.sPolicyNumber}`, config)\r\n .then((policyResult) => {\r\n if (policyResult && policyResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(policyResult.data), fileName: 'policy.js', methodName: 'getPA6PolicyInformation-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n resolve(policyHolderAutoTransform(policyResult.data, context, sRequest.sPolicyDetail, sRequest.sTfbId));\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'policy.js', methodName: 'getPA6PolicyInformation-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getTAAPolicyInformation(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'policy.js', methodName: 'getTAAPolicyInformation-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${texasAgLookupServiceUrl}/PolicyHolder?PolicyNumber=${sRequest.sPolicyNumber}&PolicyType=${sRequest.sPolicyType}&PolicySubType=${sRequest.sPolicySubType}`, config)\r\n .then((policyResult) => {\r\n if (policyResult && policyResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(policyResult.data), fileName: 'policy.js', methodName: 'getTAAPolicyInformation-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n resolve(policyHolderPropertyTransform(policyResult.data, context, sRequest.sPolicyDetail, sRequest.sTfbId));\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'policy.js', methodName: 'getTAAPolicyInformation-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getMajescoPolicyInformation(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'policy.js', methodName: 'getMajescoPolicyInformation-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n let url = majescoLookupServiceUrl;\r\n if (sRequest.sPolicyType === 'UM') {\r\n url += `/umbrella/policyholder/${sRequest.sPolicyNumber}`;\r\n } else if (sRequest.sPolicyType === 'TC') {\r\n url += `/commercial-package/policyholder/${sRequest.sPolicyNumber}`;\r\n } else if (sRequest.sPolicyType === 'CF') {\r\n url += `/commercial-property/policyholder/${sRequest.sPolicyNumber}`;\r\n } else if (sRequest.sPolicyType === 'CP' && sRequest.sPolicySubType === '2') {\r\n url += `/general-liability/policyholder/${sRequest.sPolicyNumber}`;\r\n } else if (sRequest.sPolicyType === 'CP' && sRequest.sPolicySubType === '3') {\r\n url += `/farm-liability/policyholder/${sRequest.sPolicyNumber}`;\r\n }\r\n\r\n axios.get(url, config)\r\n .then((policyResult) => {\r\n if (policyResult && policyResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(policyResult.data), fileName: 'policy.js', methodName: 'getMajescoPolicyInformation-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n resolve(policyDetailsTransform(policyResult.data, context, sRequest.sPolicyDetail, sRequest.sTfbId));\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'policy.js', methodName: 'getMajescoPolicyInformation-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getPaperlessInformation(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'policy.js', methodName: 'getPaperlessInformation-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n axios.post(`${policyLookupServiceUrl}/paperless/lookup`, { MemberNumber: sRequest.sMemberNumber, PolicyNumber: sRequest.sPolicyNumber, PolicyType: sRequest.sPolicyType }, config)\r\n .then((policyResult) => {\r\n if (policyResult && policyResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(policyResult.data), fileName: 'policy.js', methodName: 'getPaperlessInformation-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n resolve(policyResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'policy.js', methodName: 'getPaperlessInformation-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n setupPaperless(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'policy.js', methodName: 'setupPaperless-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n const changeRequest = [];\r\n for (let i = 0; i < sRequest.sPolicyList.length; i += 1) {\r\n const policy = sRequest.sPolicyList[i];\r\n changeRequest.push({\r\n MemberEmailAddress: sRequest.sEmailAddress,\r\n MemberPhoneNumber: '',\r\n MemberId: sRequest.sMemberId,\r\n MemberInitials: policy.MemberInitials,\r\n MemberNumber: sRequest.sMemberNumber,\r\n PolicyNumber: policy.PolicyNumber,\r\n PolicyType: policy.PolicyType,\r\n MemberEnrollmentType: 'EML',\r\n });\r\n }\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(changeRequest), fileName: 'policy.js', methodName: 'setupPaperless-SendRequest', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n\r\n axios.post(`${policyLookupServiceUrl}/paperless/enroll`, changeRequest, config)\r\n .then((setupResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(setupResult), fileName: 'policy.js', methodName: 'setupPaperless-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (setupResult && setupResult.data) {\r\n resolve(setupResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'policy.js', methodName: 'setupPaperless-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n removePaperless(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'policy.js', methodName: 'removePaperless-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(tokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n const changeRequest = [];\r\n for (let i = 0; i < sRequest.sPolicyList.length; i += 1) {\r\n const policy = sRequest.sPolicyList[i];\r\n changeRequest.push({\r\n PolicyNumber: policy.PolicyNumber,\r\n PolicyType: policy.PolicyType,\r\n MemberNumber: sRequest.sMemberNumber,\r\n MemberId: sRequest.sMemberId,\r\n MemberInitials: policy.MemberInitials,\r\n RemovalType: 'EML',\r\n });\r\n }\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(changeRequest), fileName: 'policy.js', methodName: 'removePaperless-Sending', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n\r\n axios.post(`${policyLookupServiceUrl}/paperless/unenroll`, changeRequest, config)\r\n .then((removeResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(removeResult), fileName: 'policy.js', methodName: 'removeremovePaperlessEbillInformation-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (removeResult && removeResult.data) {\r\n resolve(removeResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'policy.js', methodName: 'removePaperless-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations,\r\n};\r\n","import Vue from 'vue';\r\nimport { make } from 'vuex-pathify';\r\nimport axios from 'axios';\r\nimport { genericErrorMessage, collisionDeductibleRentalErrorMessage, comprehensiveDeductibleRentalErrorMessage } from '../../mixins/errorMessages';\r\nimport helpers from '../../mixins/helpers';\r\n/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\r\n\r\nconst autoQuoteServiceUrl = `${process.env.VUE_APP_WEB_URI}/services/TFBIC.Services.RateQuote.RESTService`;\r\n\r\nconst quoteTokenName = process.env.VUE_APP_WEB_ENV !== 'PROD' ? `tfb_${process.env.VUE_APP_WEB_ENV}_quote_token` : 'tfb_quote_token';\r\n\r\nconst config = {\r\n withCredentials: true,\r\n headers: { Accept: 'application/json; odata=verbose', 'Content-Type': 'application/json; odata=verbose' },\r\n};\r\n\r\nfunction getDefaultState() {\r\n return {\r\n agreementNumber: '',\r\n subAgreementNumber: '',\r\n effectiveDate: null,\r\n quote: null,\r\n timeout: false,\r\n contact: null,\r\n email: null,\r\n hasVehicle: false,\r\n hasDriver: false,\r\n hasCoverage: false,\r\n maxPastEffectiveDayLimit: 30,\r\n maxFutureEffectiveDayLimit: 30,\r\n };\r\n}\r\n\r\n/**\r\n * quoteTransform\r\n * @param {object} data - JSON object of quote data\r\n * @returns {object} - JSON object of formatted quote data\r\n */\r\nfunction quoteTransform(quoteData, context, tfbId) {\r\n try {\r\n const returnQuoteData = quoteData;\r\n\r\n if (quoteData) {\r\n if (quoteData.ValidationToken && quoteData.ValidationToken !== '') {\r\n Vue.$cookies.set(quoteTokenName, quoteData.ValidationToken, 0);\r\n returnQuoteData.ValidationToken = '';\r\n }\r\n\r\n\r\n if (quoteData.AgreementNumber && quoteData.AgreementNumber !== '') {\r\n context.commit('SET_AGREEMENT_NUMBER', quoteData.AgreementNumber);\r\n }\r\n\r\n if (quoteData.SubAgreementNumber && quoteData.SubAgreementNumber !== '') {\r\n context.commit('SET_SUB_AGREEMENT_NUMBER', quoteData.SubAgreementNumber);\r\n }\r\n\r\n if (quoteData.Quote && quoteData.Quote.EffectiveDate) {\r\n context.commit('SET_EFFECTIVE_DATE', quoteData.Quote.EffectiveDate);\r\n }\r\n\r\n if (returnQuoteData.Quote) {\r\n if (returnQuoteData.GaragingLocations) {\r\n for (let g = 0; g < returnQuoteData.GaragingLocations.length; g += 1) {\r\n const foundGaragingLocation = returnQuoteData.GaragingLocations[g];\r\n\r\n if (foundGaragingLocation) {\r\n if (foundGaragingLocation.ZipCode) {\r\n foundGaragingLocation.ZipCode = Number(foundGaragingLocation.ZipCode);\r\n }\r\n if (foundGaragingLocation.LocationCounty) {\r\n foundGaragingLocation.LocationCounty = helpers.methods.prefixPadding(foundGaragingLocation.LocationCounty, 3, '0');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (returnQuoteData.Operators) {\r\n for (let o = 0; o < returnQuoteData.Operators.length; o += 1) {\r\n const foundOperator = returnQuoteData.Operators[o];\r\n if (foundOperator) {\r\n foundOperator.AgeReceivedLicense = Number(foundOperator.AgeReceivedLicense);\r\n\r\n if (foundOperator.OperatorStatusCode === undefined || foundOperator.OperatorStatusCode === 'A') {\r\n foundOperator.OperatorStatusIndicator = 'Y';\r\n } else if (foundOperator.OperatorStatusCode !== null && foundOperator.OperatorStatusCode !== '') {\r\n foundOperator.OperatorStatusIndicator = 'N';\r\n }\r\n\r\n if (foundOperator.Accidents && foundOperator.Accidents.length > 0) {\r\n foundOperator.HasAccident = 'Y';\r\n for (let a = 0; a < foundOperator.Accidents.length; a += 1) {\r\n const foundAccident = foundOperator.Accidents[a];\r\n\r\n foundAccident.Id = a;\r\n foundAccident.AccidentTypeCode = Number(foundAccident.AccidentTypeCode);\r\n foundAccident.AtFaultIndicator = (Boolean(foundAccident.AtFaultIndicator));\r\n }\r\n } else {\r\n foundOperator.HasAccident = 'N';\r\n foundOperator.Accidents = [];\r\n }\r\n\r\n if (foundOperator.Violations && foundOperator.Violations.length > 0) {\r\n foundOperator.HasViolation = 'Y';\r\n for (let v = 0; v < foundOperator.Violations.length; v += 1) {\r\n const foundViolation = foundOperator.Violations[v];\r\n\r\n foundViolation.Id = v;\r\n foundViolation.ViolationTypeCode = Number(foundViolation.ViolationTypeCode);\r\n }\r\n } else {\r\n foundOperator.HasViolation = 'N';\r\n foundOperator.Violations = [];\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (returnQuoteData.Vehicles) {\r\n for (let v = 0; v < returnQuoteData.Vehicles.length; v += 1) {\r\n const foundVehicle = returnQuoteData.Vehicles[v];\r\n\r\n if (foundVehicle) {\r\n foundVehicle.AnnualMileage = Number(foundVehicle.AnnualMileage);\r\n foundVehicle.CostNew = Number(foundVehicle.CostNew);\r\n foundVehicle.DailyMileage = Number(foundVehicle.DailyMileage);\r\n foundVehicle.NumberOfOwnedAcres = Number(foundVehicle.NumberOfOwnedAcres);\r\n foundVehicle.NumberOfRentedAcres = Number(foundVehicle.NumberOfRentedAcres);\r\n foundVehicle.Make = foundVehicle.Make.replace('/', '_');\r\n\r\n if (foundVehicle.GaragingZipCode !== null && foundVehicle.GaragingZipCode !== '' && foundVehicle.GaragingZipCode !== '0') {\r\n foundVehicle.GaragingZipCode = Number(foundVehicle.GaragingZipCode);\r\n }\r\n\r\n if (helpers.methods.containsString(foundVehicle.VIN, '&') || helpers.methods.containsString(foundVehicle.VIN, '&') || helpers.methods.containsString(foundVehicle.VIN, '&amp;')) {\r\n // Empty out the VIN\r\n foundVehicle.VIN = '';\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return returnQuoteData;\r\n } catch (error) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quote.js', methodName: 'quoteTransform', trackerId: tfbId,\r\n }, { root: true });\r\n return quoteData;\r\n }\r\n}\r\n\r\n// state\r\nconst state = getDefaultState();\r\n\r\n// mutations\r\nconst mutations = {\r\n ...make.mutations(state),\r\n CLEAR_QUOTE(state) {\r\n sessionStorage.removeItem('tfb_quote');\r\n Object.assign(state, getDefaultState());\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n SET_AGREEMENT_NUMBER(state, value) {\r\n state.agreementNumber = value;\r\n },\r\n SET_QUOTE(state, value) {\r\n const parsed = JSON.stringify(value);\r\n sessionStorage.setItem('tfb_quote', parsed);\r\n\r\n state.quote = value;\r\n },\r\n SET_QUOTE_EMAIL_ADDRESS(state, value) {\r\n const tfbQuote = sessionStorage.getItem('tfb_quote');\r\n let tfbParsedQuote = JSON.parse(tfbQuote);\r\n\r\n if (!state.quote || state.quote === null || state.quote.length === 0) {\r\n state.quote = tfbParsedQuote;\r\n }\r\n\r\n tfbParsedQuote.Quote.EmailAddress = value;\r\n tfbParsedQuote = JSON.stringify(tfbParsedQuote);\r\n sessionStorage.setItem('tfb_quote', tfbParsedQuote);\r\n\r\n state.quote.Quote.EmailAddress = value;\r\n },\r\n SET_TIMEOUT(state, value) {\r\n state.timeout = value;\r\n },\r\n SET_SUB_AGREEMENT_NUMBER(state, value) {\r\n state.subAgreementNumber = value;\r\n },\r\n SET_EFFECTIVE_DATE(state, value) {\r\n state.effectiveDate = value;\r\n },\r\n SET_EMAIL(state, value) {\r\n state.email = value;\r\n },\r\n SET_CONTACT(state, value) {\r\n state.contact = value;\r\n },\r\n SET_HAS_VEHICLE(state, value) {\r\n state.hasVehicle = value;\r\n },\r\n SET_HAS_DRIVER(state, value) {\r\n state.hasDriver = value;\r\n },\r\n SET_HAS_COVERAGE(state, value) {\r\n state.hasCoverage = value;\r\n },\r\n SET_QUOTE_COMPLETE(state, value) {\r\n state.quote.CompletedQuoteIndicator = value;\r\n },\r\n};\r\n\r\n// getters\r\nconst getters = {\r\n ...make.getters(state),\r\n agreementNumber(state) {\r\n if (!state.agreementNumber || state.agreementNumber === null || state.agreementNumber === '') {\r\n const tfbQuote = sessionStorage.getItem('tfb_quote');\r\n const tfbParsedQuote = JSON.parse(tfbQuote);\r\n\r\n if (tfbParsedQuote && tfbParsedQuote.Quote) {\r\n state.agreementNumber = tfbParsedQuote.Quote.AgreementNumber;\r\n }\r\n }\r\n\r\n return state.agreementNumber;\r\n },\r\n quote(state) {\r\n if (!state.quote || state.quote === null || state.quote.length === 0) {\r\n const tfbQuote = sessionStorage.getItem('tfb_quote');\r\n const tfbParsedQuote = JSON.parse(tfbQuote);\r\n\r\n state.quote = tfbParsedQuote;\r\n }\r\n\r\n return state.quote;\r\n },\r\n subAgreementNumber(state) {\r\n if (!state.subAgreementNumber || state.subAgreementNumber === null || state.subAgreementNumber === '') {\r\n const tfbQuote = sessionStorage.getItem('tfb_quote');\r\n const tfbParsedQuote = JSON.parse(tfbQuote);\r\n\r\n if (tfbParsedQuote && tfbParsedQuote.Quote) {\r\n state.subAgreementNumber = tfbParsedQuote.Quote.SubAgreementNumber;\r\n }\r\n }\r\n\r\n return state.subAgreementNumber;\r\n },\r\n effectiveDate(state) {\r\n if (!state.effectiveDate || state.effectiveDate === null || state.effectiveDate === '') {\r\n const tfbQuote = sessionStorage.getItem('tfb_quote');\r\n const tfbParsedQuote = JSON.parse(tfbQuote);\r\n\r\n if (tfbParsedQuote && tfbParsedQuote.Quote) {\r\n state.effectiveDate = tfbParsedQuote.Quote.EffectiveDate;\r\n }\r\n }\r\n\r\n return state.effectiveDate;\r\n },\r\n};\r\n\r\n// actions\r\nconst actions = {\r\n addNewDriver(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'quotes.js', methodName: 'addNewDriver-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n const driverAccidents = [];\r\n const driverViolations = [];\r\n\r\n // Build the Accidents object\r\n if (sRequest.sDriver.Accidents && sRequest.sDriver.Accidents.length > 0) {\r\n for (let a = 0; a < sRequest.sDriver.Accidents.length; a += 1) {\r\n const foundAccident = sRequest.sDriver.Accidents[a];\r\n\r\n driverAccidents.push({\r\n AccidentAmount: foundAccident.AccidentAmount || '',\r\n AccidentDate: foundAccident.AccidentDate ? helpers.methods.parseDate(foundAccident.AccidentDate) : '',\r\n AccidentTypeCode: foundAccident.AccidentTypeCode || '',\r\n AtFaultIndicator: foundAccident.AtFaultIndicator || false,\r\n });\r\n }\r\n }\r\n\r\n // Build the Violations object\r\n if (sRequest.sDriver.Violations && sRequest.sDriver.Violations.length > 0) {\r\n for (let v = 0; v < sRequest.sDriver.Violations.length; v += 1) {\r\n const foundViolation = sRequest.sDriver.Violations[v];\r\n\r\n driverViolations.push({\r\n ViolationDate: foundViolation.ViolationDate ? helpers.methods.parseDate(foundViolation.ViolationDate) : '',\r\n ViolationTypeCode: foundViolation.ViolationTypeCode || '',\r\n });\r\n }\r\n }\r\n\r\n const request = {\r\n AcademicAchievement: sRequest.sDriver.AcademicAchievement || 'N',\r\n Accidents: driverAccidents,\r\n AgreementNumber: sRequest.sQuote.AgreementNumber,\r\n ClaimCount: sRequest.sQuote.ClaimCount || '0',\r\n CurrentTFBPolicyholder: sRequest.sQuote.HasCurrentTFBPolicy || 'N',\r\n DateOfBirth: sRequest.sDriver.DateOfBirth ? helpers.methods.parseDate(sRequest.sDriver.DateOfBirth) : '',\r\n DefensiveDriving: sRequest.sDriver.DefensiveDriving || 'N',\r\n DriverTraining: sRequest.sDriver.DriverTraining || 'N',\r\n DriveNSaveEnrollment: sRequest.sDriver.DriveNSaveEnrollment || 'N',\r\n FirstName: sRequest.sDriver.FirstName,\r\n Gender: sRequest.sDriver.Gender || '',\r\n IncludeAsDI: sRequest.sDriver.IncludeAsDI || 'N',\r\n LastName: sRequest.sDriver.LastName,\r\n LicenseNumber: sRequest.sDriver.DriversLicenseNumber || '',\r\n LicenseState: sRequest.sDriver.DriversLicenseState || '',\r\n MaritalStatus: sRequest.sDriver.MaritalStatusCode || '',\r\n MemberNumber: sRequest.sDriver.MemberNumber || '',\r\n Occupation: sRequest.sDriver.OccupationCode || '25',\r\n PrimaryVehicle: sRequest.sDriver.VehicleNumber || '0',\r\n Relationship: sRequest.sDriver.RelationshipToInsuredCode || '13',\r\n Status: sRequest.sDriver.OperatorStatusCode || 'A',\r\n SubAgreementNumber: sRequest.sQuote.SubAgreementNumber,\r\n Violations: driverViolations,\r\n };\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(request), fileName: 'quotes.js', methodName: 'addNewDriver-SendRequest', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n\r\n axios.post(`${autoQuoteServiceUrl}/driver/create`, request, config)\r\n .then((driverResult) => {\r\n if (driverResult && driverResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(driverResult.data), fileName: 'quotes.js', methodName: 'addNewDriver-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n const updateDriver = quoteTransform(driverResult.data, context, sRequest.sTfbId);\r\n context.commit('SET_QUOTE', updateDriver);\r\n if (driverResult.data.ErrorMessage === null || driverResult.data.ErrorMessage === '') {\r\n resolve(updateDriver);\r\n } else {\r\n reject(new Error(driverResult.data.ErrorMessage));\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'addNewDriver-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (error.toString().indexOf('status code 401') >= 0 || error.toString().indexOf('status code 405') >= 0 || error.toString().indexOf('status code 500') >= 0) {\r\n reject(new Error(genericErrorMessage));\r\n } else {\r\n reject(error);\r\n }\r\n });\r\n });\r\n },\r\n addNewQuote(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'quotes.js', methodName: 'addNewQuote-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n const request = {\r\n Address: sRequest.sLocation.Address1,\r\n Address2: sRequest.sLocation.Address2,\r\n City: sRequest.sLocation.City,\r\n CountyCode: Number(sRequest.sLocation.LocationCounty),\r\n DateOfBirth: sRequest.sDriver.DateOfBirth,\r\n EffectiveDate: sRequest.sQuote.EffectiveDate,\r\n EmailAddress: sRequest.sQuote.EmailAddress,\r\n FirstName: sRequest.sDriver.FirstName,\r\n Gender: sRequest.sDriver.Gender,\r\n LastName: sRequest.sDriver.LastName,\r\n LicenseNumber: sRequest.sDriver.DriversLicenseNumber || '',\r\n LicenseState: sRequest.sDriver.DriversLicenseState || '',\r\n Password: sRequest.sPassword,\r\n PhoneNumber: sRequest.sQuote.PhoneNumber,\r\n QuoteType: (sRequest.sQuote.OwnershipCode || 'I'),\r\n State: 'TX',\r\n TrackingId: sRequest.sTfbId,\r\n Zip: Number(sRequest.sLocation.ZipCode),\r\n };\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'quotes.js', methodName: 'addNewQuote-SendRequest', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n\r\n axios.post(`${autoQuoteServiceUrl}/quote/create`, request, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(quoteResult.data), fileName: 'quotes.js', methodName: 'addNewQuote-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n const newQuote = quoteTransform(quoteResult.data, context, sRequest.sTfbId);\r\n context.commit('SET_QUOTE', newQuote);\r\n context.commit('SET_AGREEMENT_NUMBER', newQuote.AgreementNumber);\r\n context.commit('SET_SUB_AGREEMENT_NUMBER', newQuote.SubAgreementNumber);\r\n if (quoteResult.data.ErrorMessage === null || quoteResult.data.ErrorMessage === '') {\r\n resolve(newQuote);\r\n } else {\r\n reject(new Error(quoteResult.data.ErrorMessage));\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'addNewQuote-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n addNewVehicle(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'quotes.js', methodName: 'addNewVehicle-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n const request = {\r\n AgreementNumber: sRequest.sQuote.AgreementNumber,\r\n AnnualMileage: (sRequest.sVehicle.AnnualMileage || '0'),\r\n CostNew: (sRequest.sVehicle.CostNew || '0'),\r\n DailyMileage: (sRequest.sVehicle.DailyMileage || '0'),\r\n DaysPerWeekDriven: (sRequest.sVehicle.DaysPerWeekDriven || '0'),\r\n EngineSize: (sRequest.sVehicle.EngineSize || ''),\r\n GaragedOnFarm: (sRequest.sVehicle.GaragedOnFarm || 'N'),\r\n GaragingLocation: {\r\n LocationSequenceNumber: (sRequest.sVehicle.GaragingLocationSequenceNumber || '1'),\r\n Address1: (sRequest.sVehicle.GaragingLocation.Address1 || ''),\r\n Address2: (sRequest.sVehicle.GaragingLocation.Address2 || ''),\r\n City: (sRequest.sVehicle.GaragingLocation.City || ''),\r\n State: 'TX',\r\n LocationCounty: (sRequest.sVehicle.GaragingLocation.LocationCounty || ''),\r\n ZipCode: (sRequest.sVehicle.GaragingLocation.ZipCode || ''),\r\n },\r\n Make: (sRequest.sVehicle.Make ? sRequest.sVehicle.Make.replace('_', '/') : ''),\r\n Model: (sRequest.sVehicle.Model || ''),\r\n NumberOfOwnedAcres: (sRequest.sVehicle.NumberOfOwnedAcres || '0'),\r\n NumberOfRentedAcres: (sRequest.sVehicle.NumberOfRentedAcres || '0'),\r\n PassiveRestraintCode: (sRequest.sVehicle.PassiveRestraintCode || ''),\r\n PrimaryVehicleUse: (sRequest.sVehicle.PrimaryVehicleUse || ''),\r\n PrincipalOperator: (sRequest.sVehicle.PrincipalOperator || ''),\r\n SubAgreementNumber: sRequest.sQuote.SubAgreementNumber,\r\n TitledTo: (sRequest.sVehicle.TitledTo || ''),\r\n VIN: (sRequest.sVehicle.VIN || ''),\r\n VehicleBodyStyle: (sRequest.sVehicle.VehicleBodyStyle || ''),\r\n Year: (sRequest.sVehicle.Year || ''),\r\n };\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'quotes.js', methodName: 'addNewVehicle-SendRequest', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n\r\n axios.post(`${autoQuoteServiceUrl}/vehicle/create`, request, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(quoteResult.data), fileName: 'quotes.js', methodName: 'addNewVehicle-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n const newQuote = quoteTransform(quoteResult.data, context, sRequest.sTfbId);\r\n context.commit('SET_QUOTE', newQuote);\r\n if (quoteResult.data.ErrorMessage === null || quoteResult.data.ErrorMessage === '') {\r\n resolve(newQuote);\r\n } else {\r\n reject(new Error(quoteResult.data.ErrorMessage));\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'addNewVehicle-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n clearToken() {\r\n Vue.$cookies.remove(quoteTokenName);\r\n },\r\n deleteDriver(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'quotes.js', methodName: 'deleteDriver-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n axios.delete(`${autoQuoteServiceUrl}/driver/delete/${sRequest.sAgreementNumber}/${sRequest.sSubAgreementNumber}/${sRequest.sVehicleSequenceNumber}`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(quoteResult.data), fileName: 'quotes.js', methodName: 'deleteDriver-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n const newQuote = quoteTransform(quoteResult.data, context, sRequest.sTfbId);\r\n context.commit('SET_QUOTE', newQuote);\r\n if (quoteResult.data.ErrorMessage === null || quoteResult.data.ErrorMessage === '') {\r\n resolve(newQuote);\r\n } else {\r\n reject(new Error(quoteResult.data.ErrorMessage));\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'deleteDriver-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n deleteVehicle(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'quotes.js', methodName: 'deleteVehicle-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n axios.delete(`${autoQuoteServiceUrl}/vehicle/delete/${sRequest.sAgreementNumber}/${sRequest.sSubAgreementNumber}/${sRequest.sVehicleSequenceNumber}`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(quoteResult.data), fileName: 'quotes.js', methodName: 'deleteVehicle-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n const newQuote = quoteTransform(quoteResult.data, context, sRequest.sTfbId);\r\n context.commit('SET_QUOTE', newQuote);\r\n if (quoteResult.data.ErrorMessage === null || quoteResult.data.ErrorMessage === '') {\r\n resolve(newQuote);\r\n } else {\r\n reject(new Error(quoteResult.data.ErrorMessage));\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'deleteVehicle-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getAccidentTypes(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/lookup/accident/types`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getAccidentTypes-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getBodilyInjuryLimits(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/limits/bodily-injury/${sRequest.sEffectiveDate}`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getBodilyInjuryLimits-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getCollisionDeductibles(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/deductibles/collision/${sRequest.sEffectiveDate}`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getCollisionDeductibles-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getComprehensiveDeductibles(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/deductibles/comprehensive/${sRequest.sEffectiveDate}`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getComprehensiveDeductibles-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getCountyList(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/lookup/counties`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getCountyList-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getExistingQuote(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${autoQuoteServiceUrl}/lookup/login`, {\r\n EmailAddress: sRequest.sEmailAddress,\r\n Password: sRequest.sPassword,\r\n }, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(quoteResult.data), fileName: 'quotes.js', methodName: 'getExistingQuote-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n\r\n if (quoteResult.data.ErrorMessage === null || quoteResult.data.ErrorMessage === '') {\r\n const existingQuote = quoteTransform(quoteResult.data, context, sRequest.sTfbId);\r\n context.commit('SET_QUOTE', existingQuote);\r\n resolve(existingQuote);\r\n } else {\r\n reject(new Error(quoteResult.data.ErrorMessage));\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getExistingQuote-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getLimitsByLevel(context, sRequest) {\r\n // return [\r\n // { DisplayText: 'UMPD', Value: '50' },\r\n // { DisplayText: 'UMBI', Value: '50/100' },\r\n // { DisplayText: 'Rental', Value: '35/1050' },\r\n // { DisplayText: 'Towing', Value: '120' },\r\n // { DisplayText: 'CollDeduct', Value: '500' },\r\n // { DisplayText: 'OTCDeduct', Value: '500' },\r\n // { DisplayText: 'PIPMED', Value: '2500PIP' },\r\n // { DisplayText: 'PD', Value: '50' },\r\n // { DisplayText: 'BI', Value: '50/100' },\r\n // { DisplayText: 'ADI', Value: '3' }];\r\n const coverageLevel = sRequest.sCoverageLevel ? sRequest.sCoverageLevel : 'Default';\r\n const effectiveDate = sRequest.sEffectiveDate ? helpers.methods.parseDate(sRequest.sEffectiveDate) : helpers.methods.parseDate(new Date().toISOString());\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/limits/${coverageLevel}/${effectiveDate}`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getLimitsByLevel-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n setMaxFutureEffectiveDayLimit(context) {\r\n context.dispatch('app/getConfiguration', { sSection: 'Limit', sTitle: 'MaxFutureEffectiveDayLimit' }, { root: true })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_MAX_FUTURE_EFFECTIVE_DAY_LIMIT', response);\r\n }\r\n });\r\n },\r\n setMaxPastEffectiveDayLimit(context) {\r\n context.dispatch('app/getConfiguration', { sSection: 'Limit', sTitle: 'MaxPastEffectiveDayLimit' }, { root: true })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n context.commit('SET_MAX_PAST_EFFECTIVE_DAY_LIMIT', response);\r\n }\r\n });\r\n },\r\n getMinMaxAmount(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'quotes.js', methodName: 'getMinMaxAmount-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/premium/min-max/${sRequest.sAgreementNumber}/${sRequest.sSubAgreementNumber}/${sRequest.sCoverageLevel}`, config)\r\n .then((quoteResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(quoteResult), fileName: 'quotes.js', methodName: 'getMinMaxAmount-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getMinMaxAmount-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getOccupations(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/lookup/occupations`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getOccupations-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getPIPMEDLimits(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/limits/pip-med/${sRequest.sEffectiveDate}`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getPIPMEDLimits-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getPrimaryUses(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/vehicle/uses`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getPrimaryUses-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getPropertyDamageLimits(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/limits/property-damage/${sRequest.sEffectiveDate}`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getPropertyDamageLimits-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getRateQuote(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/premium/${sRequest.sAgreementNumber}/${sRequest.sSubAgreementNumber}`, config)\r\n .then((quoteResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(quoteResult), fileName: 'quotes.js', methodName: 'getRateQuote-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (quoteResult && quoteResult.data) {\r\n if (quoteResult.data.ErrorMessage && quoteResult.data.ErrorMessage !== '') {\r\n reject(new Error(quoteResult.data.ErrorMessage));\r\n } else {\r\n context.commit('SET_QUOTE_COMPLETE', 'Y');\r\n resolve(quoteResult.data);\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getRateQuote-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getFakeRateQuote() {\r\n return new Promise((resolve) => {\r\n resolve({\r\n ErrorMessage: '',\r\n TotalPremium: '5236',\r\n TotalQuote: '5238',\r\n MonthlyAmountDue: '872.67',\r\n MonthlyServiceDue: '5.00',\r\n TheftFee: '2.00',\r\n ADIPremium: '2',\r\n SR22FilingFee: '',\r\n Discounts: [\r\n 'Claims Free',\r\n 'Companion Policy',\r\n ],\r\n VehiclePremiums: [\r\n {\r\n VehicleSequenceNumber: '1',\r\n VehicleTotalPremium: '2610',\r\n BodilyInjuryPremium: '1234',\r\n PropertyDamagePremium: '234',\r\n UMBodilyDamagePremium: '2345',\r\n UMPropertyDamagePremium: '345',\r\n MedPIPPremium: '12',\r\n ComprehensivePremium: '150',\r\n CollisionPremium: '160',\r\n RentalPremium: '10',\r\n RoadsidePremium: '12',\r\n },\r\n {\r\n VehicleSequenceNumber: '2',\r\n VehicleTotalPremium: '2626',\r\n BodilyInjuryPremium: '2345',\r\n PropertyDamagePremium: '345',\r\n UMBodilyDamagePremium: '3456',\r\n UMPropertyDamagePremium: '456',\r\n MedPIPPremium: '14',\r\n ComprehensivePremium: '180',\r\n CollisionPremium: '170',\r\n RentalPremium: '',\r\n RoadsidePremium: '10',\r\n },\r\n ],\r\n });\r\n });\r\n },\r\n getRelationships(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/lookup/relationships`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getRelationships-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getRentalLimits(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/limits/rental/${sRequest.sEffectiveDate}`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getRentalLimits-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getSafetyOptions(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/vehicle/safety-options`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getSafetyOptions-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getRoadsideAssistanceLimits(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/limits/roadside-assistance/${sRequest.sEffectiveDate}`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getRoadsideAssistanceLimits-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getUninsuredBodilyInjuryLimits(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/limits/um-bodily-injury/${sRequest.sEffectiveDate}`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getUninsuredBodilyInjuryLimits-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getUninsuredPropertyDamageLimits(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/limits/um-property-damage/${sRequest.sEffectiveDate}`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getUninsuredPropertyDamageLimits-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getVehicleMakesByYear(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n const request = {\r\n AgreementNumber: sRequest.sAgreementNumber,\r\n SubAgreementNumber: sRequest.sSubAgreementNumber,\r\n VehicleYear: sRequest.sVehicleYear,\r\n };\r\n\r\n axios.post(`${autoQuoteServiceUrl}/vehicle/makes`, request, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getVehicleMakesByYear-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getVehicleModelsByMakeYear(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n const request = {\r\n AgreementNumber: sRequest.sAgreementNumber,\r\n SubAgreementNumber: sRequest.sSubAgreementNumber,\r\n VehicleYear: sRequest.sVehicleYear,\r\n VehicleMake: sRequest.sVehicleMake,\r\n };\r\n\r\n axios.post(`${autoQuoteServiceUrl}/vehicle/models`, request, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getVehicleModelsByMakeYear-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getVehicleBodyStylesByYearMakeModel(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n const request = {\r\n AgreementNumber: sRequest.sAgreementNumber,\r\n SubAgreementNumber: sRequest.sSubAgreementNumber,\r\n VehicleYear: sRequest.sVehicleYear,\r\n VehicleMake: sRequest.sVehicleMake,\r\n VehicleModel: sRequest.sVehicleModel,\r\n };\r\n\r\n axios.post(`${autoQuoteServiceUrl}/vehicle/body-styles`, request, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getVehicleBodyStylesByYearMakeModel-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getVehicleYears(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n const request = {\r\n AgreementNumber: sRequest.sAgreementNumber,\r\n SubAgreementNumber: sRequest.sSubAgreementNumber,\r\n };\r\n\r\n axios.post(`${autoQuoteServiceUrl}/vehicle/years`, request, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getVehicleYears-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getViolationTypes(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/lookup/violation/types`, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getViolationTypes-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getWebQuoteData(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'quotes.js', methodName: 'getWebQuoteData-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (state.quote && state.quote !== null) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(state.quote), fileName: 'quotes.js', methodName: 'getWebQuoteData-Stored', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return state.quote;\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/quote/${sRequest.sAgreementNumber}/${sRequest.sSubAgreementNumber}`, config)\r\n .then((quoteResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(quoteResult), fileName: 'quotes.js', methodName: 'getWebQuoteData-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (quoteResult && quoteResult.data) {\r\n if (quoteResult.data.ErrorMessage === null || quoteResult.data.ErrorMessage === '') {\r\n const quoteData = quoteTransform(quoteResult.data, context, sRequest.sTfbId);\r\n context.commit('SET_QUOTE', quoteData);\r\n resolve(quoteData);\r\n } else {\r\n reject(new Error(quoteResult.data.ErrorMessage));\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'getWebQuoteData-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n requestContact(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'quotes.js', methodName: 'requestContact-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.patch(`${autoQuoteServiceUrl}/quote/request-contact`, {\r\n AgreementNumber: sRequest.sAgreementNumber,\r\n ContactMethod: sRequest.sContactMethod || 'NONE',\r\n EmailAddress: sRequest.sEmailAddress || '',\r\n PhoneNumber: sRequest.sPhoneNumber || '',\r\n PreferredAgent: sRequest.sPreferredAgent || '',\r\n SendToConsumerIndicator: sRequest.sSendCopy === true ? 'Y' : 'N',\r\n SubAgreementNumber: sRequest.sSubAgreementNumber,\r\n }, config)\r\n .then((contactResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(contactResult), fileName: 'quotes.js', methodName: 'requestContact-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (contactResult && contactResult.data) {\r\n // Save the added email address to the quote\r\n context.commit('SET_QUOTE_EMAIL_ADDRESS', sRequest.sEmailAddress);\r\n resolve(contactResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'requestContact-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n requestEmail(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'quotes.js', methodName: 'requestEmail-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.patch(`${autoQuoteServiceUrl}/quote/request-email`, {\r\n AgreementNumber: sRequest.sAgreementNumber,\r\n ContactMethod: sRequest.sContactMethod || 'NONE',\r\n EmailAddress: sRequest.sEmailAddress || '',\r\n PhoneNumber: sRequest.sPhoneNumber || '',\r\n PreferredAgent: sRequest.sPreferredAgent || '',\r\n SendToConsumerIndicator: 'Y',\r\n SubAgreementNumber: sRequest.sSubAgreementNumber,\r\n }, config)\r\n .then((contactResult) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(contactResult), fileName: 'quotes.js', methodName: 'requestEmail-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (contactResult && contactResult.data) {\r\n // Save the added email address to the quote\r\n context.commit('SET_QUOTE_EMAIL_ADDRESS', sRequest.sEmailAddress);\r\n resolve(contactResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'requestEmail-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n requestToken(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${autoQuoteServiceUrl}/lookup/request`, {\r\n EmailAddress: '',\r\n GoogleToken: sRequest.sQuoteToken,\r\n TrackingId: sRequest.sTfbId,\r\n }, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(quoteResult.data), fileName: 'quotes.js', methodName: 'requestToken-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n Vue.$cookies.set(quoteTokenName, quoteResult.data, 0);\r\n resolve(quoteResult.data);\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'requestToken-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n updateDriver(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'quotes.js', methodName: 'updateDriver-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n const driverAccidents = [];\r\n const driverViolations = [];\r\n\r\n // Build the Accidents object\r\n if (sRequest.sDriver.Accidents && sRequest.sDriver.Accidents.length > 0) {\r\n for (let a = 0; a < sRequest.sDriver.Accidents.length; a += 1) {\r\n const foundAccident = sRequest.sDriver.Accidents[a];\r\n\r\n driverAccidents.push({\r\n AccidentAmount: foundAccident.AccidentAmount || '',\r\n AccidentDate: foundAccident.AccidentDate ? helpers.methods.parseDate(foundAccident.AccidentDate) : '',\r\n AccidentTypeCode: foundAccident.AccidentTypeCode || '',\r\n AtFaultIndicator: foundAccident.AtFaultIndicator || false,\r\n });\r\n }\r\n }\r\n\r\n // Build the Violations object\r\n if (sRequest.sDriver.Violations && sRequest.sDriver.Violations.length > 0) {\r\n for (let v = 0; v < sRequest.sDriver.Violations.length; v += 1) {\r\n const foundViolation = sRequest.sDriver.Violations[v];\r\n\r\n driverViolations.push({\r\n ViolationDate: foundViolation.ViolationDate ? helpers.methods.parseDate(foundViolation.ViolationDate) : '',\r\n ViolationTypeCode: foundViolation.ViolationTypeCode || '',\r\n });\r\n }\r\n }\r\n\r\n const request = {\r\n AcademicAchievement: sRequest.sDriver.AcademicAchievement || 'N',\r\n Accidents: driverAccidents,\r\n AgreementNumber: sRequest.sQuote.AgreementNumber,\r\n ClaimCount: sRequest.sQuote.ClaimCount || '0',\r\n CurrentTFBPolicyholder: sRequest.sQuote.HasCurrentTFBPolicy || 'N',\r\n DateOfBirth: sRequest.sDriver.DateOfBirth ? helpers.methods.parseDate(sRequest.sDriver.DateOfBirth) : '',\r\n DefensiveDriving: sRequest.sDriver.DefensiveDriving || 'N',\r\n DriveNSaveEnrollment: sRequest.sDriver.DriveNSaveEnrollment || 'N',\r\n DriverSequenceNumber: sRequest.sDriver.DriverSequenceNumber || '',\r\n DriverTraining: sRequest.sDriver.DriverTraining || 'N',\r\n FirstName: sRequest.sDriver.FirstName,\r\n Gender: sRequest.sDriver.Gender || '',\r\n IncludeAsDI: sRequest.sDriver.IncludeAsDI || 'N',\r\n LastName: sRequest.sDriver.LastName,\r\n LicenseNumber: sRequest.sDriver.DriversLicenseNumber || '',\r\n LicenseState: sRequest.sDriver.DriversLicenseState || '',\r\n MaritalStatus: sRequest.sDriver.MaritalStatusCode || '',\r\n MemberNumber: sRequest.sDriver.MemberNumber || '',\r\n Occupation: sRequest.sDriver.OccupationCode || '25',\r\n PrimaryVehicle: sRequest.sDriver.VehicleNumber || '0',\r\n Relationship: sRequest.sDriver.RelationshipToInsuredCode || '13',\r\n Status: sRequest.sDriver.OperatorStatusCode || 'A',\r\n SubAgreementNumber: sRequest.sQuote.SubAgreementNumber,\r\n Violations: driverViolations,\r\n };\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(request), fileName: 'quotes.js', methodName: 'updateDriver-SendRequest', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n\r\n axios.patch(`${autoQuoteServiceUrl}/driver/update`, request, config)\r\n .then((driverResult) => {\r\n if (driverResult && driverResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(driverResult.data), fileName: 'quotes.js', methodName: 'updateDriver-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n const updateDriver = quoteTransform(driverResult.data, context, sRequest.sTfbId);\r\n context.commit('SET_QUOTE', updateDriver);\r\n if (driverResult.data.ErrorMessage === null || driverResult.data.ErrorMessage === '') {\r\n resolve(updateDriver);\r\n } else {\r\n reject(new Error(driverResult.data.ErrorMessage));\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'updateDriver-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (error.toString().indexOf('status code 401') >= 0 || error.toString().indexOf('status code 405') >= 0 || error.toString().indexOf('status code 500') >= 0) {\r\n reject(new Error(genericErrorMessage));\r\n } else {\r\n reject(error);\r\n }\r\n });\r\n });\r\n },\r\n updateQuote(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'quotes.js', methodName: 'updateQuote-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n const request = {\r\n Address: sRequest.sLocation.Address1 || '',\r\n Address2: sRequest.sLocation.Address2 || '',\r\n AgreementNumber: !sRequest.sQuote.AgreementNumber || sRequest.sQuote.AgreementNumber === '' ? context.getters['quotes/agreementNumber'] : sRequest.sQuote.AgreementNumber,\r\n City: sRequest.sLocation.City || '',\r\n CountyCode: sRequest.sLocation.LocationCounty ? Number(sRequest.sLocation.LocationCounty) : '0',\r\n DateOfBirth: sRequest.sDriver.DateOfBirth ? helpers.methods.parseDate(sRequest.sDriver.DateOfBirth) : '',\r\n EffectiveDate: sRequest.sQuote.EffectiveDate ? helpers.methods.parseDate(sRequest.sQuote.EffectiveDate) : '',\r\n EmailAddress: sRequest.sQuote.EmailAddress || '',\r\n ExpirationDate: '',\r\n FirstName: sRequest.sDriver.FirstName || '',\r\n GaragingLocationIndicator: 'Y',\r\n Gender: sRequest.sDriver.Gender || '',\r\n LastName: sRequest.sDriver.LastName || '',\r\n LicenseNumber: sRequest.sDriver.DriversLicenseNumber || '',\r\n LicenseState: sRequest.sDriver.DriversLicenseState || '',\r\n PhoneNumber: sRequest.sQuote.PhoneNumber || '',\r\n QuoteType: (sRequest.sQuote.OwnershipCode || 'I'),\r\n State: sRequest.sQuote.State || '',\r\n SubAgreementNumber: sRequest.sQuote.SubAgreementNumber,\r\n Zip: sRequest.sLocation.ZipCode || '',\r\n };\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(request), fileName: 'quotes.js', methodName: 'updateQuote-SendRequest', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n\r\n axios.patch(`${autoQuoteServiceUrl}/quote/update`, request, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(quoteResult.data), fileName: 'quotes.js', methodName: 'updateQuote-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n const updateQuote = quoteTransform(quoteResult.data, context, sRequest.sTfbId);\r\n context.commit('SET_QUOTE', updateQuote);\r\n if (quoteResult.data.ErrorMessage === null || quoteResult.data.ErrorMessage === '') {\r\n resolve(updateQuote);\r\n } else {\r\n reject(new Error(quoteResult.data.ErrorMessage));\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'updateQuote-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (error.toString().indexOf('status code 401') >= 0 || error.toString().indexOf('status code 405') >= 0 || error.toString().indexOf('status code 500') >= 0) {\r\n reject(new Error(genericErrorMessage));\r\n } else {\r\n reject(error);\r\n }\r\n });\r\n });\r\n },\r\n updateQuoteCoverages(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'quotes.js', methodName: 'updateQuoteCoverages-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n const vehicleCoverages = [];\r\n\r\n for (let v = 0; v < sRequest.sVehicles.length; v += 1) {\r\n const foundVehicle = sRequest.sVehicles[v];\r\n\r\n foundVehicle.IncludeRoadsideAssistance = 'N';\r\n foundVehicle.IncludeRentalReimbursement = 'N';\r\n if (sRequest.sQuote.RentalReimbursementLimit !== '') {\r\n if (sRequest.sRental.indexOf(foundVehicle.VehicleSequenceNumber) !== -1) {\r\n foundVehicle.IncludeRentalReimbursement = 'Y';\r\n\r\n if (foundVehicle.CollisionDeductibleCode === '' || foundVehicle.CollisionDeductibleCode === null) {\r\n reject(new Error(collisionDeductibleRentalErrorMessage));\r\n }\r\n\r\n if (foundVehicle.ComprehensiveDeductibleCode === '' || foundVehicle.ComprehensiveDeductibleCode === null) {\r\n reject(new Error(comprehensiveDeductibleRentalErrorMessage));\r\n }\r\n }\r\n }\r\n\r\n if (sRequest.sQuote.RoadsideAssistanceLimit !== '') {\r\n if (sRequest.sRoadside.indexOf(foundVehicle.VehicleSequenceNumber) !== -1) {\r\n foundVehicle.IncludeRoadsideAssistance = 'Y';\r\n }\r\n }\r\n vehicleCoverages.push({\r\n CollisionDeductible: (foundVehicle.CollisionDeductibleCode || ''),\r\n ComprehensiveDeductible: (foundVehicle.ComprehensiveDeductibleCode || ''),\r\n HasRentalIndicator: (foundVehicle.IncludeRentalReimbursement || 'N'),\r\n HasRoadsideIndicator: (foundVehicle.IncludeRoadsideAssistance || 'N'),\r\n VehicleSequenceNumber: foundVehicle.VehicleSequenceNumber,\r\n });\r\n }\r\n\r\n const request = {\r\n AgreementNumber: sRequest.sQuote.AgreementNumber,\r\n SubAgreementNumber: sRequest.sQuote.SubAgreementNumber,\r\n SelectedCoverageLevel: sRequest.sQuote.SelectedCoverageLevel,\r\n BodilyInjuryLimit: (sRequest.sQuote.BodilyInjuryLimit || ''),\r\n PropertyDamageLimit: sRequest.sQuote.PropertyDamageLimit,\r\n MedPIPLimit: (sRequest.sQuote.MedicalPIPLimit || ''),\r\n UMBodilyInjuryLimit: sRequest.sQuote.UninsuredBodilyInjuryLimit,\r\n UMPropertyDamageLimit: sRequest.sQuote.UninsuredPropertyDamageLimit,\r\n RentalLimit: sRequest.sQuote.RentalReimbursementLimit,\r\n RoadsideLimit: sRequest.sQuote.RoadsideAssistanceLimit,\r\n VehicleCoverages: vehicleCoverages,\r\n };\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(request), fileName: 'quotes.js', methodName: 'updateQuoteCoverages-SendRequest', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n\r\n axios.patch(`${autoQuoteServiceUrl}/quote/coverages/update`, request, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(quoteResult.data), fileName: 'quotes.js', methodName: 'updateQuoteCoverages-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n const updateQuote = quoteTransform(quoteResult.data, context, sRequest.sTfbId);\r\n context.commit('SET_QUOTE', updateQuote);\r\n if (quoteResult.data.ErrorMessage === null || quoteResult.data.ErrorMessage === '') {\r\n resolve(updateQuote);\r\n } else {\r\n reject(new Error(quoteResult.data.ErrorMessage));\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'updateQuoteCoverages-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n if (error.toString().indexOf('status code 401') >= 0 || error.toString().indexOf('status code 405') >= 0 || error.toString().indexOf('status code 500') >= 0) {\r\n reject(new Error(genericErrorMessage));\r\n } else {\r\n reject(error);\r\n }\r\n });\r\n });\r\n },\r\n updateVehicle(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'quotes.js', methodName: 'updateVehicle-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve, reject) => {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n\r\n const request = {\r\n AgreementNumber: sRequest.sQuote.AgreementNumber,\r\n AnnualMileage: (sRequest.sVehicle.AnnualMileage || '0'),\r\n DailyMileage: (sRequest.sVehicle.DailyMileage || '0'),\r\n DaysPerWeekDriven: (sRequest.sVehicle.DaysPerWeekDriven || '0'),\r\n EngineSize: (sRequest.sVehicle.EngineSize || ''),\r\n GaragedOnFarm: (sRequest.sVehicle.GaragedOnFarm || 'N'),\r\n GaragingLocation: {\r\n LocationSequenceNumber: (sRequest.sVehicle.GaragingLocationSequenceNumber || '1'),\r\n Address1: (sRequest.sVehicle.GaragingLocation.Address1 || ''),\r\n Address2: (sRequest.sVehicle.GaragingLocation.Address2 || ''),\r\n City: (sRequest.sVehicle.GaragingLocation.City || ''),\r\n State: 'TX',\r\n LocationCounty: (sRequest.sVehicle.GaragingLocation.LocationCounty || ''),\r\n ZipCode: (sRequest.sVehicle.GaragingLocation.ZipCode || ''),\r\n },\r\n Make: (sRequest.sVehicle.Make ? sRequest.sVehicle.Make.replace('_', '/') : ''),\r\n Model: (sRequest.sVehicle.Model || ''),\r\n NumberOfOwnedAcres: (sRequest.sVehicle.NumberOfOwnedAcres || '0'),\r\n NumberOfRentedAcres: (sRequest.sVehicle.NumberOfRentedAcres || '0'),\r\n PassiveRestraintCode: (sRequest.sVehicle.PassiveRestraintCode || ''),\r\n PrimaryVehicleUse: (sRequest.sVehicle.PrimaryVehicleUse || ''),\r\n PrincipalOperator: (sRequest.sVehicle.PrincipalOperator || ''),\r\n SubAgreementNumber: sRequest.sQuote.SubAgreementNumber,\r\n TitledTo: (sRequest.sVehicle.TitledTo || ''),\r\n VIN: (sRequest.sVehicle.VIN || ''),\r\n VehicleBodyStyle: (sRequest.sVehicle.VehicleBodyStyle || ''),\r\n Year: (sRequest.sVehicle.Year || ''),\r\n VehicleSequenceNumber: (sRequest.sVehicle.VehicleSequenceNumber || ''),\r\n };\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(request), fileName: 'quotes.js', methodName: 'updateVehicle-SendRequest', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n\r\n axios.patch(`${autoQuoteServiceUrl}/vehicle/update`, request, config)\r\n .then((quoteResult) => {\r\n if (quoteResult && quoteResult.data) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(quoteResult.data), fileName: 'quotes.js', methodName: 'updateVehicle-Result', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n const newQuote = quoteTransform(quoteResult.data, context, sRequest.sTfbId);\r\n context.commit('SET_QUOTE', newQuote);\r\n if (quoteResult.data.ErrorMessage === null || quoteResult.data.ErrorMessage === '') {\r\n resolve(newQuote);\r\n } else {\r\n reject(new Error(quoteResult.data.ErrorMessage));\r\n }\r\n } else {\r\n reject(new Error(genericErrorMessage));\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'updateVehicle-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n validateVIN(context, sRequest) {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Info', logMessage: JSON.stringify(sRequest), fileName: 'quotes.js', methodName: 'validateVIN-Start', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n return new Promise((resolve) => {\r\n if (sRequest.sVIN && sRequest.sVIN !== null) {\r\n const ssoToken = Vue.$cookies.get(quoteTokenName);\r\n config.headers.Authorization = `Bearer ${ssoToken}`;\r\n axios.get(`${autoQuoteServiceUrl}/vehicle/vin/${sRequest.sVIN}/${context.getters.agreementNumber}/${context.getters.subAgreementNumber}`, config)\r\n .then((vinResult) => {\r\n if (vinResult && vinResult.data) {\r\n resolve(vinResult.data);\r\n } else {\r\n resolve(false);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('app/logToULS', {\r\n logLevel: 'Error', logMessage: error, fileName: 'quotes.js', methodName: 'validateVIN-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n resolve(false);\r\n });\r\n } else {\r\n resolve(true);\r\n }\r\n });\r\n },\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations,\r\n};\r\n","/* eslint no-underscore-dangle: 0 */\r\nimport { make } from 'vuex-pathify';\r\nimport axios from 'axios';\r\n\r\nconst sharePointListUrl = `${process.env.VUE_APP_ROOT_URI}/_api/lists/getbytitle('%%LIST%%')/items`;\r\n\r\nconst config = {\r\n crossdomain: true,\r\n // withCredentials: true,\r\n headers: { 'Access-Control-Allow-Origin': '*', Accept: 'application/json; odata=verbose' },\r\n};\r\n\r\n// Groups/sorts service coverages\r\nfunction groupServiceCoverages(serviceCoverages) {\r\n let groupName = '';\r\n let groupCoverages = [];\r\n let coverageGroup = {};\r\n const coverageReturn = [];\r\n\r\n for (let c = 0; c < serviceCoverages.length; c += 1) {\r\n const coverage = serviceCoverages[c];\r\n if (coverage) {\r\n // console.log(coverage);\r\n // Does this coverage start a new section group?\r\n if (coverage.CoverageTypeSection !== groupName) {\r\n if (groupCoverages.length > 0) {\r\n // Figure out what the actual name needs to be\r\n let finalGroupName = '';\r\n if (groupName !== null && groupName.toUpperCase() === 'VEHICLE') {\r\n finalGroupName = 'For Your Vehicle';\r\n } else if (groupName !== null && groupName.toUpperCase() === 'SELF') {\r\n finalGroupName = 'For You';\r\n } else {\r\n finalGroupName = groupName;\r\n }\r\n // Add the existing grouped coverages to a coverage group with the given name\r\n coverageGroup = { Name: finalGroupName, Coverages: groupCoverages };\r\n // Add the document group to the return\r\n coverageReturn.push(coverageGroup);\r\n }\r\n\r\n // Set the name of the new section group\r\n groupName = coverage.CoverageTypeSection;\r\n // Clear out the grouped coverages\r\n groupCoverages = [];\r\n }\r\n\r\n // Add the document to the document group\r\n groupCoverages.push(coverage);\r\n }\r\n }\r\n\r\n // Figure out what the actual name needs to be\r\n let finalGroupName = '';\r\n if (groupName !== null && groupName.toUpperCase() === 'VEHICLE') {\r\n finalGroupName = 'For Your Vehicle';\r\n } else if (groupName !== null && groupName.toUpperCase() === 'SELF') {\r\n finalGroupName = 'For You';\r\n } else {\r\n finalGroupName = groupName;\r\n }\r\n\r\n // Add the last grouped coverages to a coverage group with the name\r\n coverageGroup = { Name: finalGroupName, Coverages: groupCoverages };\r\n\r\n // Add the last/remaining coverage group to the return\r\n coverageReturn.push(coverageGroup);\r\n\r\n return coverageReturn;\r\n}\r\n\r\nconst state = {\r\n serviceItems: null,\r\n serviceCoverages: null,\r\n serviceOptionalCoverages: null,\r\n serviceDiscounts: null,\r\n};\r\n\r\nconst actions = {\r\n getServices(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl.replace('%%LIST%%', 'services')}?$select=*&$filter=(TFBEnabled eq 1)&$orderby=OrderBy`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d.results) {\r\n resolve(response.data.d.results);\r\n } else {\r\n resolve([]);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'services.js', methodName: 'getServices-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getServiceInformation(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl.replace('%%LIST%%', 'services')}?$select=*&$filter=((ServiceType eq '${sRequest.sServiceType}') and (TFBEnabled eq 1))&$orderby=OrderBy`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d.results && response.data.d.results.length > 0) {\r\n resolve(response.data.d.results[0]);\r\n } else {\r\n resolve(null);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'services.js', methodName: 'getServiceInformation-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getServiceCoverages(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl.replace('%%LIST%%', 'servicecoverages')}?$select=*&$filter=((ServiceType eq '${sRequest.sServiceType}') and (CoverageType eq 'Coverage')\r\n and (TFBEnabled eq 1) and (Optional eq 0))&$orderby=CoverageTypeSection,OrderBy`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d.results) {\r\n resolve(groupServiceCoverages(response.data.d.results));\r\n // resolve(response.data.d.results);\r\n } else {\r\n resolve([]);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'services.js', methodName: 'getServiceCoverages-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getServiceOptionalCoverages(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl.replace('%%LIST%%', 'servicecoverages')}?$select=*&$filter=((ServiceType eq '${sRequest.sServiceType}') and (CoverageType eq 'Coverage')\r\n and (TFBEnabled eq 1) and (Optional eq 1))&$orderby=OrderBy`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d.results) {\r\n resolve(response.data.d.results);\r\n } else {\r\n resolve([]);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'services.js', methodName: 'getServiceOptionalCoverages-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n getServiceDiscounts(context, sRequest) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${sharePointListUrl.replace('%%LIST%%', 'servicecoverages')}?$select=*&$filter=((ServiceType eq '${sRequest.sServiceType}') and (CoverageType eq 'Discount')\r\n and (TFBEnabled eq 1))&$orderby=OrderBy`, config)\r\n .then((response) => {\r\n if (response && response.data && response.data.d && response.data.d.results) {\r\n resolve(response.data.d.results);\r\n } else {\r\n resolve([]);\r\n }\r\n })\r\n .catch((error) => {\r\n context.dispatch('logToULS', {\r\n logLevel: 'Error', logMessage: JSON.stringify(error), fileName: 'services.js', methodName: 'getServiceDiscounts-Error', trackerId: sRequest.sTfbId,\r\n }, { root: true });\r\n reject(error);\r\n });\r\n });\r\n },\r\n};\r\n\r\nconst mutations = {\r\n ...make.mutations(state),\r\n};\r\n\r\nconst getters = {\r\n ...make.getters(state),\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n","import Vue from 'vue';\r\nimport Vuex from 'vuex';\r\nimport pathify from 'vuex-pathify';\r\nimport app from './modules/app';\r\nimport agentcounty from './modules/agentcounty';\r\nimport blog from './modules/blog';\r\nimport claims from './modules/claims';\r\nimport documents from './modules/documents';\r\nimport location from './modules/location';\r\nimport member from './modules/member';\r\nimport payments from './modules/payments';\r\nimport policy from './modules/policy';\r\nimport quotes from './modules/quotes';\r\nimport services from './modules/services';\r\n\r\nVue.use(Vuex);\r\n\r\nexport default new Vuex.Store({\r\n plugins: [pathify.plugin],\r\n modules: {\r\n app,\r\n agentcounty,\r\n blog,\r\n claims,\r\n documents,\r\n location,\r\n member,\r\n payments,\r\n policy,\r\n quotes,\r\n services,\r\n },\r\n});\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"no-print\"},[_c('mobile-navigation',{staticClass:\"hidden-md-and-up\"}),_c('navigation',{staticClass:\"hidden-sm-and-down\"})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"header-navigation\"}},[_c('blue-navigation'),_c('div',[_c('v-container',{staticClass:\"tfb-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"tfb-navbar\",attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',{staticClass:\"header-logo-col\"},[_c('router-link',{attrs:{\"to\":{ name: 'home' }}},[_c('v-img',{staticClass:\"tfb-logo\",attrs:{\"max-height\":\"85\",\"alt\":\"Texas Farm Bureau Insurance\",\"itemprop\":\"logo\",\"src\":_vm.imageRootPath +'tfb-logo.jpg',\"contain\":\"\"}})],1)],1),_vm._l((_vm.headerLinks),function(link){return _c('v-col',{key:link.id,class:link.id === 0 || link.id === 4 ? 'header-drop-down-col' : 'header-mid-col'},[(link.children)?_c('span',[_c('v-menu',{attrs:{\"open-on-hover\":\"\",\"right\":\"\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('a',_vm._g({staticClass:\"tfb-navbar-navlink\",attrs:{\"href\":\"#\"}},on),[_vm._v(_vm._s(link.text))]),_c('v-icon',[_vm._v(\"mdi-chevron-down\")])]}}],null,true)},[_c('v-list',_vm._l((link.children),function(childLink){return _c('v-list-item',{key:childLink.id},[_c('router-link',{staticClass:\"tfb-navbar-navlink\",attrs:{\"to\":{ name: childLink.to, params: { type: childLink.param }},\"hreflang\":\"en-us\"}},[_vm._v(_vm._s(childLink.text))])],1)}),1)],1)],1):_c('span',[(link.param != '')?_c('span',[_c('router-link',{staticClass:\"tfb-navbar-navlink\",attrs:{\"to\":{ name: link.to, params: { type: link.param }},\"hreflang\":\"en-us\"}},[_vm._v(_vm._s(link.text))])],1):_c('span',[_c('router-link',{staticClass:\"tfb-navbar-navlink\",attrs:{\"to\":{ name: link.to },\"hreflang\":\"en-us\"}},[_vm._v(_vm._s(link.text))])],1)])])}),_c('v-col',[_c('a',{staticClass:\"ml-auto tfb-navbar-text\",attrs:{\"href\":_vm.primaryPhone.link,\"hreflang\":\"en-us\"}},[_vm._v(\" \"+_vm._s(_vm.primaryPhone.display)+\" \")])]),_c('v-col',{staticClass:\"header-login-col\"},[_c('span',{staticClass:\"ml-auto\"},[_c('v-icon',{attrs:{\"color\":\"tfb-blue\",\"aria-label\":\"Go to Account Summary\"},on:{\"click\":_vm.accountSummary}},[_vm._v(\"mdi-account\")]),(_vm.isLoggedIn)?_c('a',{staticClass:\"tfb-navbar-navlink login-text\",on:{\"click\":function($event){$event.preventDefault();return _vm.logout.apply(null, arguments)}}},[_vm._v(\"LOG OUT\")]):_c('router-link',{staticClass:\"tfb-navbar-navlink login-text\",attrs:{\"to\":{ name: 'policyholderLogin' },\"hreflang\":\"en-us\"}},[_vm._v(\"LOG IN\")])],1)])],2)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","const webmasterMail = 'webmaster@txfb-ins.com';\r\nconst primaryPhone = { display: '1.877.327.6287', link: 'tel:+18773276287' };\r\nconst ivrPhone = { display: '1.866.658.9038', link: 'tel:+18666589038' };\r\nconst guidewireIvrPhone = { display: '1.866.658.9038', link: 'tel:+18666589038' };\r\nconst contactUsPhone = { display: '1.800.772.6535', link: 'tel:+18007726535' };\r\nconst claimsReportingCenter = { title: 'Texas Farm Bureau Insurance 24-Hour Claims Reporting Center', phoneDisplay: '1.800.266.5458', phoneLink: 'tel:+18002665458' };\r\nconst texasWindstorm = { title: 'Texas Windstorm Insurance Association', phoneDisplay: '1.800.788.8247', phoneLink: 'tel:+18007888247' };\r\nconst wacoClaims = { title: 'Waco Claims Office', phoneDisplay: '1.800.224.7936', phoneLink: 'tel:+18002247936' };\r\nconst wrightFlood = { title: 'Wright Flood', phoneDisplay: '1.800.725.9472', phoneLink: 'tel:+18007259472' };\r\nconst roadsideAssistance = { title: 'Roadside Assistance', phoneDisplay: '1.833.832.7623', phoneLink: 'tel:+18338327623' };\r\nconst fraudHotline = { title: 'Fraud Hotline', phoneDisplay: '1.800.711.0394', phoneLink: 'tel:+18007110394' };\r\nconst tfbPhone = { title: '1.877.FARM BUREAU', phoneDisplay: '1.877.FARM BUREAU', phoneLink: 'tel:+18773276287' };\r\nconst poBoxAddress = 'Post Office Box 2689, Waco, Texas 76702-2689';\r\nconst legalContact = {\r\n name: 'Paul D. Marable, III',\r\n emailDisplay: 'pmarable@txfb.org',\r\n emailLink: 'mailto:pmarable@txfb.org',\r\n address: '7420 Fish Pond Road, Waco, Texas 76710',\r\n};\r\nconst billingAddress = {\r\n name: 'Texas Farm Bureau Insurance Companies',\r\n addressLineOne: 'P.O. Box 660755',\r\n addressLineTwo: 'Dallas, TX 75266-0755',\r\n};\r\nconst corporateOfficeAddress = {\r\n name: 'Texas Farm Bureau Insurance Companies',\r\n addressLineOne: '7420 Fish Pond Road',\r\n addressLineTwo: 'Waco, TX 76710',\r\n};\r\nconst defaultAgentImage = `${process.env.VUE_APP_ROOT_URI}/agentphotos/9999-.jpg`;\r\n\r\nexport default {\r\n data() {\r\n return {\r\n webmasterMail,\r\n primaryPhone,\r\n ivrPhone,\r\n guidewireIvrPhone,\r\n contactUsPhone,\r\n claimsReportingCenter,\r\n texasWindstorm,\r\n wacoClaims,\r\n wrightFlood,\r\n roadsideAssistance,\r\n fraudHotline,\r\n tfbPhone,\r\n poBoxAddress,\r\n legalContact,\r\n billingAddress,\r\n corporateOfficeAddress,\r\n defaultAgentImage,\r\n };\r\n },\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"row-header\"},[_c('v-container',{staticClass:\"tfb-container pa-0\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\",\"justify\":\"end\",\"align-content\":\"end\"}},[_c('v-col',{attrs:{\"align-self\":\"center\",\"cols\":\"12\",\"cols-sm\":\"6\",\"md\":\"auto\",\"order\":\"4\",\"order-lg\":\"1\",\"order-md\":\"1\"}},[_c('span',[_c('a',{staticClass:\"row-header-link\",attrs:{\"title\":\"Banks, Lenders & Financial Institutions\"},on:{\"click\":function($event){$event.stopPropagation();_vm.lenderdock = true}}},[_vm._v(\"Banks, Lenders & Financial Institutions\")])])]),_c('v-col',{attrs:{\"align-self\":\"center\",\"cols\":\"6\",\"md\":\"auto\",\"order\":\"3\",\"order-lg\":\"1\",\"order-md\":\"1\"}},[_c('span',[_c('v-divider',{staticClass:\"mx-4 nav-divider hidden-sm-and-down\",attrs:{\"vertical\":\"\"}}),_c('a',{staticClass:\"row-header-link\",attrs:{\"href\":\"https://texasheritageforliving.com\",\"hreflang\":\"en-us\",\"title\":\"Blog\",\"rel\":\"noopener\",\"target\":\"_blank\"}},[_vm._v(\"Blog\")])],1)]),_c('v-col',{attrs:{\"align-self\":\"center\",\"cols\":\"6\",\"md\":\"auto\",\"order\":\"3\",\"order-lg\":\"1\",\"order-md\":\"1\"}},[_c('span',[_c('v-divider',{staticClass:\"mx-4 nav-divider hidden-sm-and-down\",attrs:{\"vertical\":\"\"}}),_c('a',{staticClass:\"row-header-link\",attrs:{\"href\":\"https://texasfarmbureau.org/membership/member-benefits/\",\"hreflang\":\"en-us\",\"title\":\"Member Benefits\",\"rel\":\"noopener\",\"target\":\"_blank\"}},[_vm._v(\"Member Benefits\")])],1)]),_c('v-col',{attrs:{\"align-self\":\"center\",\"cols\":\"12\",\"md\":\"auto\",\"order\":\"3\",\"order-lg\":\"1\",\"order-md\":\"1\"}},[_c('span',[_c('v-divider',{staticClass:\"mx-4 nav-divider hidden-sm-and-down\",attrs:{\"vertical\":\"\"}}),_c('a',{staticClass:\"row-header-link\",attrs:{\"href\":\"https://tfbhp.com\",\"hreflang\":\"en-us\",\"title\":\"TFB Health Plans\",\"rel\":\"noopener\",\"target\":\"_blank\"}},[_vm._v(\"TFB Health Plans\")])],1)]),_c('v-col',{attrs:{\"align-self\":\"center\",\"cols\":\"6\",\"md\":\"auto\",\"order\":\"2\",\"order-lg\":\"1\",\"order-md\":\"1\"}},[_c('span',[_c('v-divider',{staticClass:\"mx-4 nav-divider hidden-sm-and-down\",attrs:{\"vertical\":\"\"}}),_c('router-link',{staticClass:\"row-header-link\",attrs:{\"to\":{ name: 'countyLookup' },\"hreflang\":\"en-us\"}},[_vm._v(\"Find an Agent\")])],1)]),_c('v-col',{attrs:{\"align-self\":\"center\",\"cols\":\"6\",\"md\":\"auto\",\"order\":\"2\",\"order-lg\":\"1\",\"order-md\":\"1\"}},[_c('span',[_c('v-divider',{staticClass:\"mx-4 nav-divider hidden-sm-and-down\",attrs:{\"vertical\":\"\"}}),_c('router-link',{staticClass:\"row-header-link\",attrs:{\"to\":{ name: 'paymentOptions' },\"hreflang\":\"en-us\"}},[_vm._v(\"Make a Payment\")])],1)]),_c('v-col',{staticClass:\"hidden-sm-and-down\",attrs:{\"align-self\":\"center\",\"md\":\"auto\",\"order\":\"3\"}},[_c('v-divider',{staticClass:\"mx-4 nav-divider\",attrs:{\"vertical\":\"\"}}),_c('v-icon',{attrs:{\"color\":\"white\",\"aria-label\":\"Search\"},on:{\"click\":_vm.showSearch}},[_vm._v(\"mdi-magnify\")])],1),_c('v-col',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.searchVisible),expression:\"searchVisible\"}],staticClass:\"px-2\",attrs:{\"cols\":\"12\",\"order\":\"1\",\"order-lg\":\"3\",\"order-md\":\"3\",\"align-self\":\"end\"}},[_c('v-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.submitSearch.apply(null, arguments)}}},[_c('v-text-field',{attrs:{\"single-line\":\"\",\"dense\":\"\",\"dark\":\"\",\"type\":\"search\",\"color\":\"white\",\"prepend-icon\":\"mdi-magnify\",\"aria-label\":\"Search Text\"},on:{\"keyup\":_vm.submitSearch},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}})],1)],1)],1)],1),_c('lender-dock')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"max-width\":\"500px\"},model:{value:(_vm.lenderdock),callback:function ($$v) {_vm.lenderdock=$$v},expression:\"lenderdock\"}},[_c('v-card',[_c('v-card-text',[_c('v-container',{staticClass:\"tfb-component-container\"},[_c('v-row',[_c('v-col',{staticClass:\"py-5\",attrs:{\"cols\":\"12\"}},[_vm._v(\" Banks, lenders, and financial institutions can now access real-time policy data without carrier intervention reducing lender transaction time from as much as 20 minutes to just seconds via \"),_c('a',{attrs:{\"href\":\"https://www.lenderdock.com\",\"title\":\"LenderDock.com\",\"target\":\"_blank\"}},[_vm._v(\"LenderDock.com\")]),_vm._v(\". \"),_c('a',{attrs:{\"href\":\"https://www.lenderdock.com\",\"title\":\"LenderDock.com\",\"target\":\"_blank\"}},[_vm._v(\"LenderDock.com\")]),_vm._v(\" is a simple, free, self-service system, written exclusively for lenders. Lenders can verify coverage, download EOIs, certificates and other important policy documents, and correct lender information directly. Save valuable time and effort and register today! Registration is simple and if you ever need assistance, \"),_c('a',{attrs:{\"href\":\"https://www.lenderdock.com\",\"title\":\"LenderDock.com\",\"target\":\"_blank\"}},[_vm._v(\"LenderDock.com\")]),_vm._v(\" representatives are available to chat with you online. To register and start self-serving lender data today, visit \"),_c('a',{attrs:{\"href\":\"https://www.lenderdock.com\",\"title\":\"LenderDock.com\",\"target\":\"_blank\"}},[_vm._v(\"LenderDock.com\")]),_vm._v(\". \")])],1)],1)],1),_c('v-card-actions',{staticClass:\"tfb-card-footer text-center\"},[_c('v-btn',{staticClass:\"tfb-button-min background-red\",attrs:{\"href\":\"https://www.lenderdock.com\",\"target\":\"_blank\",\"type\":\"submit\"}},[_vm._v(\"LenderDock\")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-dialog v-model=\"lenderdock\"\r\n max-width=\"500px\">\r\n <v-card>\r\n <v-card-text>\r\n <v-container class=\"tfb-component-container\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-5\">\r\n Banks, lenders, and financial institutions can now access real-time policy data without carrier intervention reducing lender\r\n transaction time from as much as 20 minutes to just seconds via <a href=\"https://www.lenderdock.com\" title=\"LenderDock.com\" target=\"_blank\">LenderDock.com</a>.\r\n <a href=\"https://www.lenderdock.com\" title=\"LenderDock.com\" target=\"_blank\">LenderDock.com</a> is a simple, free, self-service\r\n system, written exclusively for lenders. Lenders can verify coverage, download EOIs, certificates and other important policy\r\n documents, and correct lender information directly. Save valuable time and effort and register today! Registration is simple\r\n and if you ever need assistance, <a href=\"https://www.lenderdock.com\" title=\"LenderDock.com\" target=\"_blank\">LenderDock.com</a>\r\n representatives are available to chat with you online. To register and start\r\n self-serving lender data today, visit <a href=\"https://www.lenderdock.com\" title=\"LenderDock.com\" target=\"_blank\">LenderDock.com</a>.\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </v-card-text>\r\n <v-card-actions class=\"tfb-card-footer text-center\">\r\n <v-btn class=\"tfb-button-min background-red\"\r\n href=\"https://www.lenderdock.com\"\r\n target=\"_blank\"\r\n type=\"submit\">LenderDock</v-btn>\r\n </v-card-actions>\r\n </v-card>\r\n </v-dialog>\r\n</template>\r\n<script>\r\n import { sync } from 'vuex-pathify';\r\n\r\n export default {\r\n name: 'LenderDock',\r\n computed: {\r\n lenderdock: sync('app/lenderdock'),\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LenderDock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LenderDock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LenderDock.vue?vue&type=template&id=be05ed60\"\nimport script from \"./LenderDock.vue?vue&type=script&lang=js\"\nexport * from \"./LenderDock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div class=\"row-header\">\r\n <v-container fluid\r\n class=\"tfb-container pa-0\">\r\n <v-row no-gutters\r\n justify=\"end\"\r\n align-content=\"end\">\r\n <v-col align-self=\"center\"\r\n cols=\"12\"\r\n cols-sm=\"6\"\r\n md=\"auto\"\r\n order=\"4\"\r\n order-lg=\"1\"\r\n order-md=\"1\">\r\n <span>\r\n <a @click.stop=\"lenderdock = true\"\r\n title=\"Banks, Lenders & Financial Institutions\"\r\n class=\"row-header-link\">Banks, Lenders & Financial Institutions</a>\r\n </span>\r\n </v-col>\r\n <v-col align-self=\"center\"\r\n cols=\"6\"\r\n md=\"auto\"\r\n order=\"3\"\r\n order-lg=\"1\"\r\n order-md=\"1\">\r\n <span>\r\n <v-divider class=\"mx-4 nav-divider hidden-sm-and-down\"\r\n vertical></v-divider>\r\n <a href=\"https://texasheritageforliving.com\"\r\n hreflang=\"en-us\"\r\n title=\"Blog\"\r\n rel=\"noopener\"\r\n target=\"_blank\"\r\n class=\"row-header-link\">Blog</a>\r\n </span>\r\n </v-col>\r\n <v-col align-self=\"center\"\r\n cols=\"6\"\r\n md=\"auto\"\r\n order=\"3\"\r\n order-lg=\"1\"\r\n order-md=\"1\">\r\n <span>\r\n <v-divider class=\"mx-4 nav-divider hidden-sm-and-down\"\r\n vertical></v-divider>\r\n <a href=\"https://texasfarmbureau.org/membership/member-benefits/\"\r\n hreflang=\"en-us\"\r\n title=\"Member Benefits\"\r\n rel=\"noopener\"\r\n target=\"_blank\"\r\n class=\"row-header-link\">Member Benefits</a>\r\n </span>\r\n </v-col>\r\n <v-col align-self=\"center\"\r\n cols=\"12\"\r\n md=\"auto\"\r\n order=\"3\"\r\n order-lg=\"1\"\r\n order-md=\"1\">\r\n <span>\r\n <v-divider class=\"mx-4 nav-divider hidden-sm-and-down\"\r\n vertical></v-divider>\r\n <a href=\"https://tfbhp.com\"\r\n hreflang=\"en-us\"\r\n title=\"TFB Health Plans\"\r\n rel=\"noopener\"\r\n target=\"_blank\"\r\n class=\"row-header-link\">TFB Health Plans</a>\r\n </span>\r\n </v-col>\r\n <v-col align-self=\"center\"\r\n cols=\"6\"\r\n md=\"auto\"\r\n order=\"2\"\r\n order-lg=\"1\"\r\n order-md=\"1\">\r\n <span>\r\n <v-divider class=\"mx-4 nav-divider hidden-sm-and-down\"\r\n vertical></v-divider>\r\n <router-link :to=\"{ name: 'countyLookup' }\"\r\n hreflang=\"en-us\"\r\n class=\"row-header-link\">Find an Agent</router-link>\r\n </span>\r\n </v-col>\r\n <v-col align-self=\"center\"\r\n cols=\"6\"\r\n md=\"auto\"\r\n order=\"2\"\r\n order-lg=\"1\"\r\n order-md=\"1\">\r\n <span>\r\n <v-divider class=\"mx-4 nav-divider hidden-sm-and-down\"\r\n vertical></v-divider>\r\n <router-link :to=\"{ name: 'paymentOptions' }\"\r\n hreflang=\"en-us\"\r\n class=\"row-header-link\">Make a Payment</router-link>\r\n </span>\r\n </v-col>\r\n <v-col align-self=\"center\"\r\n class=\"hidden-sm-and-down\"\r\n md=\"auto\"\r\n order=\"3\">\r\n <v-divider class=\"mx-4 nav-divider\"\r\n vertical></v-divider>\r\n <v-icon color=\"white\"\r\n @click=\"showSearch\"\r\n aria-label=\"Search\">mdi-magnify</v-icon>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n order=\"1\"\r\n order-lg=\"3\"\r\n order-md=\"3\"\r\n align-self=\"end\"\r\n v-show=\"searchVisible\"\r\n class=\"px-2\">\r\n <v-form @submit.stop.prevent=\"submitSearch\">\r\n <v-text-field single-line\r\n dense\r\n dark\r\n type=\"search\"\r\n v-model=\"searchText\"\r\n v-on:keyup=\"submitSearch\"\r\n color=\"white\"\r\n prepend-icon=\"mdi-magnify\"\r\n aria-label=\"Search Text\"></v-text-field>\r\n </v-form>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <lender-dock></lender-dock>\r\n </div>\r\n</template>\r\n<script>\r\n import { sync } from 'vuex-pathify';\r\n import LenderDock from '@/views/content/LenderDock.vue';\r\n\r\n export default {\r\n name: 'QuickLinksHeaderNavigation',\r\n components: {\r\n LenderDock,\r\n },\r\n data() {\r\n return {\r\n searchText: '',\r\n };\r\n },\r\n computed: {\r\n searchVisible: sync('app/searchVisible'),\r\n lenderdock: sync('app/lenderdock'),\r\n },\r\n methods: {\r\n showSearch() {\r\n if (this.searchVisible) {\r\n this.searchVisible = false;\r\n } else {\r\n this.searchVisible = true;\r\n }\r\n },\r\n submitSearch(e) {\r\n if (e.keyCode === 13) {\r\n this.searchVisible = false;\r\n // Submit the search\r\n this.$router.push({ name: 'searchResults', query: { term: this.searchText, start: 0 } });\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.searchVisible = this.$vuetify.breakpoint.smAndDown;\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .row-header {\r\n background-color: $tfb-darkest-blue;\r\n color: $white;\r\n text-align: center;\r\n }\r\n\r\n hr.nav-divider {\r\n background-color: $white;\r\n border-color: rgba(255, 255, 255, 1);\r\n color: $white;\r\n min-height: 10px;\r\n }\r\n\r\n .row-header-link {\r\n color: $white !important;\r\n text-align: center;\r\n font-size: .8em;\r\n vertical-align: middle;\r\n padding-bottom: 2px;\r\n }\r\n\r\n a.row-header-link,\r\n a:visited.row-header-link {\r\n text-decoration: none;\r\n }\r\n\r\n a:active.row-header-link,\r\n a:hover.row-header-link {\r\n text-decoration: underline;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuickLinksHeaderNavigation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuickLinksHeaderNavigation.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./QuickLinksHeaderNavigation.vue?vue&type=template&id=14d2e870\"\nimport script from \"./QuickLinksHeaderNavigation.vue?vue&type=script&lang=js\"\nexport * from \"./QuickLinksHeaderNavigation.vue?vue&type=script&lang=js\"\nimport style0 from \"./QuickLinksHeaderNavigation.vue?vue&type=style&index=0&id=14d2e870&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div id=\"header-navigation\">\r\n <blue-navigation></blue-navigation>\r\n <div>\r\n <v-container fluid\r\n class=\"tfb-container\">\r\n <!-- Begin Navigation -->\r\n <v-row no-gutters\r\n align=\"center\"\r\n class=\"tfb-navbar\">\r\n <v-col class=\"header-logo-col\">\r\n <router-link :to=\"{ name: 'home' }\">\r\n <v-img max-height=\"85\"\r\n alt=\"Texas Farm Bureau Insurance\"\r\n class=\"tfb-logo\"\r\n itemprop=\"logo\"\r\n v-bind:src=\"imageRootPath +'tfb-logo.jpg'\"\r\n contain></v-img>\r\n </router-link>\r\n </v-col>\r\n <v-col v-for=\"link in headerLinks\"\r\n v-bind:key=\"link.id\"\r\n :class=\"link.id === 0 || link.id === 4 ? 'header-drop-down-col' : 'header-mid-col'\">\r\n <span v-if=\"link.children\">\r\n <v-menu open-on-hover\r\n right\r\n bottom>\r\n <template v-slot:activator=\"{ on }\">\r\n <a href=\"#\"\r\n v-on=\"on\"\r\n class=\"tfb-navbar-navlink\">{{link.text}}</a>\r\n <v-icon>mdi-chevron-down</v-icon>\r\n </template>\r\n <v-list>\r\n <v-list-item v-for=\"childLink in link.children\"\r\n v-bind:key=\"childLink.id\">\r\n <router-link :to=\"{ name: childLink.to, params: { type: childLink.param }}\"\r\n hreflang=\"en-us\"\r\n class=\"tfb-navbar-navlink\">{{childLink.text}}</router-link>\r\n </v-list-item>\r\n </v-list>\r\n </v-menu>\r\n </span>\r\n <span v-else>\r\n <span v-if=\"link.param != ''\">\r\n <router-link :to=\"{ name: link.to, params: { type: link.param }}\"\r\n hreflang=\"en-us\"\r\n class=\"tfb-navbar-navlink\">{{link.text}}</router-link>\r\n </span>\r\n <span v-else>\r\n <router-link :to=\"{ name: link.to }\"\r\n hreflang=\"en-us\"\r\n class=\"tfb-navbar-navlink\">{{link.text}}</router-link>\r\n </span>\r\n </span>\r\n </v-col>\r\n <v-col>\r\n <a :href=\"primaryPhone.link\"\r\n hreflang=\"en-us\"\r\n class=\"ml-auto tfb-navbar-text\">\r\n {{primaryPhone.display}}\r\n </a>\r\n </v-col>\r\n <v-col class=\"header-login-col\">\r\n <span class=\"ml-auto\">\r\n <v-icon color=\"tfb-blue\"\r\n @click=\"accountSummary\"\r\n aria-label=\"Go to Account Summary\">mdi-account</v-icon>\r\n <a v-on:click.prevent=\"logout\"\r\n class=\"tfb-navbar-navlink login-text\"\r\n v-if=\"isLoggedIn\">LOG OUT</a>\r\n <router-link :to=\"{ name: 'policyholderLogin' }\"\r\n hreflang=\"en-us\"\r\n class=\"tfb-navbar-navlink login-text\"\r\n v-else>LOG IN</router-link>\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <!-- End Navigation -->\r\n </v-container>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\n import { dispatch, sync } from 'vuex-pathify';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import BlueNavigation from './QuickLinksHeaderNavigation.vue';\r\n\r\n export default {\r\n name: 'Navigation',\r\n mixins: [tfbDataMixin, tfbHelperMixin],\r\n components: {\r\n BlueNavigation,\r\n },\r\n computed: {\r\n headerLinks() {\r\n return [\r\n {\r\n id: 0,\r\n text: 'Insurance',\r\n to: '',\r\n param: '',\r\n children: [\r\n {\r\n text: 'Auto',\r\n to: 'insurance',\r\n param: 'auto',\r\n },\r\n {\r\n text: 'Home',\r\n to: 'insurance',\r\n param: 'home',\r\n },\r\n {\r\n text: 'Farm & Ranch',\r\n to: 'insurance',\r\n param: 'farm-ranch',\r\n },\r\n {\r\n text: 'Commercial',\r\n to: 'insurance',\r\n param: 'commercial',\r\n },\r\n {\r\n text: 'Life',\r\n to: 'insurance',\r\n param: 'life',\r\n },\r\n ],\r\n },\r\n {\r\n id: 1,\r\n text: 'Quote',\r\n to: 'quoteEntry',\r\n param: 'auto',\r\n children: null,\r\n },\r\n {\r\n id: 2,\r\n text: 'Claims',\r\n to: 'claims',\r\n param: '',\r\n children: null,\r\n },\r\n {\r\n id: 3,\r\n text: 'About',\r\n to: 'about',\r\n param: '',\r\n children: null,\r\n },\r\n {\r\n id: 4,\r\n text: 'Contact',\r\n to: 'contact',\r\n param: '',\r\n children: null,\r\n },\r\n ];\r\n },\r\n drawer: sync('app/drawer'),\r\n },\r\n mounted() {\r\n if (!this.$store.state.app.tfbId) {\r\n dispatch('app/setVisitor');\r\n }\r\n },\r\n methods: {\r\n logout() {\r\n dispatch('app/setIsLoading', true);\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n dispatch('app/setIsLoading', false);\r\n // Go to home page\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((error) => {\r\n dispatch('app/setIsLoading', false);\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n accountSummary() {\r\n if (this.isLoggedIn) {\r\n // Redirect where needed\r\n this.doRedirect();\r\n } else {\r\n this.$router.push({ name: 'policyholderLogin' });\r\n }\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfb-navbar {\r\n width: 100%;\r\n background-color: $white !important;\r\n box-shadow: none !important;\r\n }\r\n\r\n a:hover.tfb-navbar-navlink {\r\n font-family: 'BS-light', $body-font-family;\r\n font-weight: 900;\r\n color: $tfb-darker-gray;\r\n text-decoration: underline;\r\n }\r\n\r\n .tfb-navbar-navlink,\r\n a:visited.tfb-navbar-navlink,\r\n a.tfb-navbar-navlink {\r\n font-family: 'BS-light', $body-font-family;\r\n font-weight: 900;\r\n color: $tfb-darker-gray;\r\n text-decoration: none;\r\n }\r\n\r\n .login-text {\r\n padding-left: .5em;\r\n }\r\n .tfb-navbar-text,\r\n a:visited.tfb-navbar-text,\r\n a.tfb-navbar-text {\r\n font-family: 'BS-bold', 'BS-light', $body-font-family;\r\n color: $tfb-darker-gray;\r\n text-decoration: none;\r\n }\r\n\r\n a:hover.tfb-navbar-text {\r\n font-family: 'BS-bold', 'BS-light', $body-font-family;\r\n font-weight: 900;\r\n color: $tfb-darker-gray;\r\n text-decoration: underline;\r\n }\r\n\r\n .tfb-small-navbar-text {\r\n font-family: $body-font-family;\r\n font-weight: 400;\r\n font-size: 0.75rem !important;\r\n line-height: 0.75rem !important;\r\n margin: 0px !important;\r\n }\r\n\r\n .header-login-col {\r\n min-width: 110px;\r\n max-width: 110px;\r\n }\r\n\r\n @media (min-width: 961px) {\r\n .header-logo-col {\r\n max-width: 242px;\r\n }\r\n }\r\n\r\n .header-drop-down-col {\r\n min-width: 116px;\r\n }\r\n\r\n .header-mid-col {\r\n max-width: 120px;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=5f090c14\"\nimport script from \"./Navigation.vue?vue&type=script&lang=js\"\nexport * from \"./Navigation.vue?vue&type=script&lang=js\"\nimport style0 from \"./Navigation.vue?vue&type=style&index=0&id=5f090c14&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"mobile-header-navigation\"}},[_c('v-container',{staticClass:\"tfb-borderless-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"py-0 pl-2\",attrs:{\"cols\":\"1\",\"align-self\":\"center\"}},[_c('v-app-bar-nav-icon',{attrs:{\"aria-label\":\"Navigation Menu\"},on:{\"click\":function($event){_vm.drawer = true}}})],1),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"7\",\"sm\":\"9\",\"align-self\":\"center\"}},[_c('router-link',{attrs:{\"to\":{ name: 'home' }}},[_c('v-img',{staticClass:\"tfb-logo\",attrs:{\"max-height\":\"70\",\"alt\":\"Texas Farm Bureau Insurance\",\"itemprop\":\"logo\",\"src\":_vm.imageRootPath +'tfb-logo.jpg',\"contain\":\"\"}})],1)],1),_c('v-col',{staticClass:\"ml-auto py-0 pr-2 text-right text-md-left\",attrs:{\"cols\":\"4\",\"sm\":\"2\",\"align-self\":\"center\"}},[_c('v-icon',{attrs:{\"color\":\"tfb-blue\",\"aria-label\":\"Go to Account Summary\"},on:{\"click\":_vm.accountSummary}},[_vm._v(\"mdi-account\")]),(_vm.isLoggedIn)?_c('a',{on:{\"click\":_vm.logout}},[_vm._v(\"LOG OUT\")]):_c('router-link',{attrs:{\"to\":{ name: 'policyholderLogin' },\"hreflang\":\"en-us\"}},[_vm._v(\"LOG IN\")])],1)],1)],1),_c('v-navigation-drawer',{staticClass:\"tfb-navbar-mobile\",attrs:{\"temporary\":\"\",\"app\":\"\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-divider'),_c('div',{staticClass:\"align-center\"},[_c('v-icon',{attrs:{\"color\":\"tfb-blue\"}},[_vm._v(\"mdi-phone\")]),_c('a',{staticClass:\"mx-auto tfb-navbar-text\",attrs:{\"href\":_vm.primaryPhone.link,\"hreflang\":\"en-us\"}},[_vm._v(\" \"+_vm._s(_vm.primaryPhone.display)+\" \")])],1),_c('div',{staticClass:\"pa-3 pb-10 row-header\"},[_c('blue-navigation')],1)]},proxy:true}]),model:{value:(_vm.drawer),callback:function ($$v) {_vm.drawer=$$v},expression:\"drawer\"}},[_c('v-list',{attrs:{\"nav\":\"\"}},_vm._l((_vm.headerLinks),function(link){return _c('span',{key:link.id},[(link.children)?_c('span',[_c('v-list-group',{scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-list-item-title',{staticClass:\"tfb-navbar-navlink\"},[_vm._v(_vm._s(link.text))])]},proxy:true}],null,true)},_vm._l((link.children),function(childLink){return _c('v-list-item',{key:childLink.id,staticClass:\"px-4\"},[_c('router-link',{staticClass:\"tfb-navbar-navlink\",attrs:{\"to\":{ name: childLink.to, params: { type: childLink.param }},\"hreflang\":\"en-us\"}},[_vm._v(_vm._s(childLink.text))])],1)}),1)],1):_c('span',[_c('v-list-item',[(link.param != '')?_c('span',[_c('router-link',{staticClass:\"tfb-navbar-navlink\",attrs:{\"to\":{ name: link.to, params: { type: link.param }},\"hreflang\":\"en-us\"}},[_vm._v(_vm._s(link.text))])],1):_c('span',[_c('router-link',{staticClass:\"tfb-navbar-navlink\",attrs:{\"to\":{ name: link.to },\"hreflang\":\"en-us\"}},[_vm._v(_vm._s(link.text))])],1)])],1)])}),0)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"mobile-header-navigation\">\r\n <v-container fluid\r\n class=\"tfb-borderless-container\">\r\n <v-row no-gutters>\r\n <v-col cols=\"1\"\r\n align-self=\"center\"\r\n class=\"py-0 pl-2\">\r\n <v-app-bar-nav-icon @click=\"drawer = true\"\r\n aria-label=\"Navigation Menu\"></v-app-bar-nav-icon>\r\n </v-col>\r\n <v-col cols=\"7\"\r\n sm=\"9\"\r\n align-self=\"center\"\r\n class=\"py-0\">\r\n <router-link :to=\"{ name: 'home' }\">\r\n <v-img max-height=\"70\"\r\n alt=\"Texas Farm Bureau Insurance\"\r\n class=\"tfb-logo\"\r\n itemprop=\"logo\"\r\n v-bind:src=\"imageRootPath +'tfb-logo.jpg'\"\r\n contain></v-img>\r\n </router-link>\r\n </v-col>\r\n <v-col cols=\"4\"\r\n sm=\"2\"\r\n align-self=\"center\"\r\n class=\"ml-auto py-0 pr-2 text-right text-md-left\">\r\n <v-icon color=\"tfb-blue\"\r\n @click=\"accountSummary\"\r\n aria-label=\"Go to Account Summary\">mdi-account</v-icon>\r\n <a v-on:click=\"logout\"\r\n v-if=\"isLoggedIn\">LOG OUT</a>\r\n <router-link :to=\"{ name: 'policyholderLogin' }\"\r\n hreflang=\"en-us\"\r\n v-else>LOG IN</router-link>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <v-navigation-drawer v-model=\"drawer\"\r\n temporary\r\n app\r\n class=\"tfb-navbar-mobile\">\r\n <v-list nav>\r\n <span v-for=\"link in headerLinks\"\r\n v-bind:key=\"link.id\">\r\n <span v-if=\"link.children\">\r\n <v-list-group>\r\n <template v-slot:activator>\r\n <v-list-item-title class=\"tfb-navbar-navlink\">{{link.text}}</v-list-item-title>\r\n </template>\r\n <v-list-item v-for=\"childLink in link.children\"\r\n v-bind:key=\"childLink.id\"\r\n class=\"px-4\">\r\n <router-link :to=\"{ name: childLink.to, params: { type: childLink.param }}\"\r\n hreflang=\"en-us\"\r\n class=\"tfb-navbar-navlink\">{{childLink.text}}</router-link>\r\n </v-list-item>\r\n </v-list-group>\r\n </span>\r\n <span v-else>\r\n <v-list-item>\r\n <span v-if=\"link.param != ''\">\r\n <router-link :to=\"{ name: link.to, params: { type: link.param }}\"\r\n hreflang=\"en-us\"\r\n class=\"tfb-navbar-navlink\">{{link.text}}</router-link>\r\n </span>\r\n <span v-else>\r\n <router-link :to=\"{ name: link.to }\"\r\n hreflang=\"en-us\"\r\n class=\"tfb-navbar-navlink\">{{link.text}}</router-link>\r\n </span>\r\n </v-list-item>\r\n </span>\r\n </span>\r\n </v-list>\r\n <template v-slot:append>\r\n <v-divider />\r\n <div class=\"align-center\">\r\n <v-icon color=\"tfb-blue\">mdi-phone</v-icon>\r\n <a :href=\"primaryPhone.link\"\r\n hreflang=\"en-us\"\r\n class=\"mx-auto tfb-navbar-text\">\r\n {{primaryPhone.display}}\r\n </a>\r\n </div>\r\n <div class=\"pa-3 pb-10 row-header\">\r\n <blue-navigation></blue-navigation>\r\n </div>\r\n </template>\r\n </v-navigation-drawer>\r\n </div>\r\n</template>\r\n<script>\r\n import { dispatch, sync } from 'vuex-pathify';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import BlueNavigation from './QuickLinksHeaderNavigation.vue';\r\n\r\n export default {\r\n name: 'MobileNavigation',\r\n mixins: [tfbDataMixin, tfbHelperMixin],\r\n components: {\r\n BlueNavigation,\r\n },\r\n computed: {\r\n headerLinks() {\r\n return [\r\n {\r\n id: 0,\r\n text: 'Insurance',\r\n to: '',\r\n param: '',\r\n children: [\r\n {\r\n text: 'Auto',\r\n to: 'insurance',\r\n param: 'auto',\r\n },\r\n {\r\n text: 'Home',\r\n to: 'insurance',\r\n param: 'home',\r\n },\r\n {\r\n text: 'Farm & Ranch',\r\n to: 'insurance',\r\n param: 'farm-ranch',\r\n },\r\n {\r\n text: 'Commercial',\r\n to: 'insurance',\r\n param: 'commercial',\r\n },\r\n {\r\n text: 'Life',\r\n to: 'insurance',\r\n param: 'life',\r\n },\r\n ],\r\n },\r\n {\r\n id: 1,\r\n text: 'Quote',\r\n to: 'quoteEntry',\r\n param: 'auto',\r\n children: null,\r\n },\r\n {\r\n id: 2,\r\n text: 'Claims',\r\n to: 'claims',\r\n param: '',\r\n children: null,\r\n },\r\n {\r\n id: 3,\r\n text: 'About',\r\n to: 'about',\r\n param: '',\r\n children: null,\r\n },\r\n {\r\n id: 4,\r\n text: 'Contact',\r\n to: 'contact',\r\n param: '',\r\n children: null,\r\n },\r\n ];\r\n },\r\n drawer: sync('app/drawer'),\r\n },\r\n mounted() {\r\n if (!this.$store.state.app.tfbId) {\r\n dispatch('app/setVisitor');\r\n }\r\n },\r\n methods: {\r\n logout() {\r\n dispatch('app/setIsLoading', true);\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n dispatch('app/setIsLoading', false);\r\n // Go to home page\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((error) => {\r\n dispatch('app/setIsLoading', false);\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n accountSummary() {\r\n if (this.isLoggedIn) {\r\n // Redirect where needed\r\n this.doRedirect();\r\n } else {\r\n this.$router.push({ name: 'policyholderLogin' });\r\n }\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfb-navbar-mobile .v-list-item {\r\n min-height: 36px !important;\r\n }\r\n\r\n .tfb-navbar-mobile .v-list-group__items {\r\n border-bottom: solid $tfb-darker-gray 1px;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileNavigation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileNavigation.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MobileNavigation.vue?vue&type=template&id=10848214\"\nimport script from \"./MobileNavigation.vue?vue&type=script&lang=js\"\nexport * from \"./MobileNavigation.vue?vue&type=script&lang=js\"\nimport style0 from \"./MobileNavigation.vue?vue&type=style&index=0&id=10848214&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div class=\"no-print\">\r\n <mobile-navigation class=\"hidden-md-and-up\"></mobile-navigation>\r\n <navigation class=\"hidden-sm-and-down\"></navigation>\r\n </div>\r\n</template>\r\n<script>\r\nimport Navigation from './navigation/Navigation.vue';\r\nimport MobileNavigation from './navigation/MobileNavigation.vue';\r\n\r\nexport default {\r\n name: 'Header',\r\n components: {\r\n Navigation,\r\n MobileNavigation,\r\n },\r\n};\r\n</script>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=0c74a1d5\"\nimport script from \"./Header.vue?vue&type=script&lang=js\"\nexport * from \"./Header.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"no-gutters remove-spacing no-print\",attrs:{\"role\":\"banner\"}},[_vm._m(0),_c('v-expansion-panels',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.noticeText !== ''),expression:\"noticeText !== ''\"}],staticClass:\"tfb-notification\",attrs:{\"role\":\"alert\",\"id\":\"notification-panel\"}},[_c('v-expansion-panel',{staticClass:\"tfb-notification-notice\"},[_c('v-expansion-panel-header',{staticClass:\"text-format-bold\",attrs:{\"disable-icon-rotate\":\"\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('v-icon',{attrs:{\"color\":\"white\"}},[_vm._v(\"mdi-exclamation\")])]},proxy:true}])},[_vm._v(\" Notice From Texas Farm Bureau Insurance \")]),_c('v-expansion-panel-content',{attrs:{\"id\":\"notice-panel\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.noticeText)}})])],1)],1)],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('noscript',[_c('div',{staticClass:\"tfb-notification tfb-notification-notice text-center\",attrs:{\"role\":\"alert\",\"id\":\"no-script-panel\"}},[_vm._v(\" Javascript must be enabled for full functionality of this website. \")])])\n}]\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"no-gutters remove-spacing no-print\"\r\n role=\"banner\">\r\n <!-- Begin Notices -->\r\n <noscript>\r\n <div class=\"tfb-notification tfb-notification-notice text-center\"\r\n role=\"alert\"\r\n id=\"no-script-panel\">\r\n Javascript must be enabled for full functionality of this website.\r\n </div>\r\n </noscript>\r\n <v-expansion-panels class=\"tfb-notification\"\r\n role=\"alert\"\r\n v-show=\"noticeText !== ''\"\r\n id=\"notification-panel\">\r\n <!-- Notice -->\r\n <v-expansion-panel class=\"tfb-notification-notice\">\r\n <v-expansion-panel-header disable-icon-rotate\r\n class=\"text-format-bold\">\r\n <template v-slot:actions>\r\n <v-icon color=\"white\">mdi-exclamation</v-icon>\r\n </template>\r\n Notice From Texas Farm Bureau Insurance\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content id=\"notice-panel\">\r\n <span v-html=\"noticeText\"></span>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <!-- End Notice -->\r\n </v-expansion-panels>\r\n <!-- End Notices -->\r\n </div>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'Notification',\r\n mixins: [tfbHelperMixin],\r\n data() {\r\n return {\r\n noticeText: '',\r\n hideNotice: true,\r\n };\r\n },\r\n mounted() {\r\n this.$store.dispatch('app/getNotices', { sTfbId: this.trackingId })\r\n .then((response) => {\r\n if (response && response.length > 0) {\r\n const currentTimestamp = new Date().toJSON();\r\n for (let i = 0; i < response.length; i += 1) {\r\n const item = response[i];\r\n if (item.StartTime <= currentTimestamp && item.EndTime > currentTimestamp) {\r\n if (this.noticeText) {\r\n this.noticeText += `<hr /><strong>Notice:</strong> ${item.Title}`;\r\n } else {\r\n this.noticeText = `<strong>Notice:</strong> ${item.Title}`;\r\n }\r\n }\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'HeaderNotification.vue',\r\n methodName: 'getNotices-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .tfb-notification {\r\n color: #e6e6e6 !important;\r\n background-color: $tfb-red !important;\r\n border-color: $tfb-darkest-red !important;\r\n vertical-align: middle;\r\n margin: 0px;\r\n padding: 0px;\r\n margin-bottom: 2px;\r\n border: 1px solid transparent;\r\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\r\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\r\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\r\n }\r\n\r\n .tfb-notification-notice {\r\n color: #e6e6e6 !important;\r\n background-color: $tfb-red !important;\r\n border-color: $tfb-darkest-red !important;\r\n padding: 5px;\r\n vertical-align: middle;\r\n margin: 0px;\r\n width: 100%;\r\n }\r\n\r\n .tfb-notification-notice hr {\r\n border-top-color: $tfb-darkest-red;\r\n }\r\n\r\n .remove-spacing {\r\n margin-top: -2px;\r\n margin-bottom: -2px;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderNotification.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderNotification.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./HeaderNotification.vue?vue&type=template&id=d8253296\"\nimport script from \"./HeaderNotification.vue?vue&type=script&lang=js\"\nexport * from \"./HeaderNotification.vue?vue&type=script&lang=js\"\nimport style0 from \"./HeaderNotification.vue?vue&type=style&index=0&id=d8253296&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"row-footer no-print\"},[_c('div',{staticClass:\"tfb-footer-banner\"},[_c('jd-power-banner',{attrs:{\"banner-type\":\"footer\"}}),((_vm.$vuetify.breakpoint.lgAndDown && !_vm.showJdPower) || _vm.$vuetify.breakpoint.lgAndUp)?_c('img',{staticClass:\"star-footer-image\",attrs:{\"src\":`${_vm.imageRootPath}red-white-star-large.png`,\"alt\":\"Texas Farm Bureau\"}}):_vm._e()],1),_c('v-container',{staticClass:\"tfb-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"row-footer-white\"},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"lg\":\"3\"}},[_c('img',{staticClass:\"protect-image d-none d-md-block d-lg-block d-xl-block\",attrs:{\"alt\":\"Texas Farm Bureau Insurance\",\"id\":\"tfb-logo-footer\",\"src\":_vm.imageRootPath +'tfb-logo.jpg'}})]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\",\"lg\":\"6\"}},[_c('v-row',[_c('v-col',{staticClass:\"text-center text-sm-left\",attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('router-link',{staticClass:\"footer-link\",attrs:{\"to\":{ name: 'about'},\"hreflang\":\"en-us\",\"title\":\"Our Story\"}},[_vm._v(\" Our Story \")]),_c('br'),_c('router-link',{staticClass:\"footer-link\",attrs:{\"to\":{ name: 'countyLookup'},\"hreflang\":\"en-us\",\"title\":\"Find an Agent\"}},[_vm._v(\" Find an Agent \")]),_c('br'),_c('router-link',{staticClass:\"footer-link\",attrs:{\"to\":{ name: 'countyListing'},\"hreflang\":\"en-us\",\"title\":\"County Office Listing\"}},[_vm._v(\" County Office Listing \")]),_c('br'),_c('router-link',{staticClass:\"footer-link\",attrs:{\"to\":{ name: 'careers'},\"hreflang\":\"en-us\",\"title\":\"Careers\"}},[_vm._v(\" Careers \")]),_c('br')],1),_c('v-col',{staticClass:\"text-center text-sm-left\",attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('router-link',{staticClass:\"footer-link\",attrs:{\"to\":{ name: 'claims'},\"hreflang\":\"en-us\",\"title\":\"Claims\"}},[_vm._v(\" Claims \")]),_c('br'),_c('router-link',{staticClass:\"footer-link\",attrs:{\"to\":{ name: 'paymentOptions'},\"hreflang\":\"en-us\",\"title\":\"Make a Payment\"}},[_vm._v(\" Make a Payment \")]),_c('br'),_c('router-link',{staticClass:\"footer-link\",attrs:{\"to\":{ name: 'policyholderLogin'},\"hreflang\":'en-us',\"title\":\"Find Auto ID Card\"}},[_vm._v(\" Find Auto ID Card \")]),_c('br'),_c('router-link',{staticClass:\"footer-link\",attrs:{\"to\":{ name: 'contact'},\"hreflang\":\"en-us\",\"title\":\"Contact Us\"}},[_vm._v(\" Contact Us \")]),_c('br')],1),_c('v-col',{staticClass:\"text-center text-sm-left\",attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('a',{staticClass:\"footer-link\",attrs:{\"href\":\"https://www.farmbureau.bank/\",\"hreflang\":\"en-us\",\"title\":\"Farm Bureau Bank\",\"rel\":\"noopener\",\"target\":\"_blank\"}},[_vm._v(\"Farm Bureau Bank\")]),_c('br'),_c('a',{staticClass:\"footer-link\",attrs:{\"href\":\"https://texasfarmbureau.org/\",\"hreflang\":\"en-us\",\"title\":\"Texas Farm Bureau\",\"rel\":\"noopener\",\"target\":\"_blank\"}},[_vm._v(\"Texas Farm Bureau\")]),_c('br'),_c('a',{staticClass:\"footer-link\",attrs:{\"href\":\"https://tfbhp.com\",\"hreflang\":\"en-us\",\"title\":\"TFB Health Plans\",\"rel\":\"noopener\",\"target\":\"_blank\"}},[_vm._v(\"TFB Health Plans\")]),_c('br'),_c('a',{staticClass:\"footer-link\",attrs:{\"href\":\"https://www.multiplan.com/webcenter/portal/ProviderSearch\",\"hreflang\":\"en-us\",\"title\":\"PHCS\",\"rel\":\"noopener\",\"target\":\"_blank\"}},[_vm._v(\"PHCS\")])])],1)],1),_c('v-col',{staticClass:\"align-center\",attrs:{\"cols\":\"12\",\"lg\":\"3\"}},[_c('v-btn',{staticClass:\"tfb-button-min row-footer-button background-blue\",attrs:{\"to\":{ name: 'countyLookup'},\"hreflang\":'en-us',\"title\":'Find an Agent'}},[_vm._v(\"Find an Agent\")]),_c('br'),_c('v-btn',{staticClass:\"tfb-button-min row-footer-button background-red\",attrs:{\"to\":{ name: 'quoteEntry', params: { type: 'auto' }},\"hreflang\":'en-us',\"title\":'Get a Quote'}},[_vm._v(\"Get a Quote\")])],1)],1)],1),_c('v-footer',{staticClass:\"row-footer-gray\",attrs:{\"padless\":\"\",\"align\":\"end\",\"justify\":\"center\"}},[_c('v-col',{staticClass:\"align-right\",attrs:{\"cols\":\"6\",\"sm\":\"3\",\"lg\":\"1\"}},[_c('router-link',{attrs:{\"to\":{ name: 'privacy'},\"hreflang\":\"en-us\"}},[_vm._v(\" Privacy \")])],1),_c('v-col',{staticClass:\"align-left text-sm-center align-md-right\",attrs:{\"cols\":\"6\",\"sm\":\"3\",\"lg\":\"1\"}},[_c('router-link',{attrs:{\"to\":{ name: 'requiredNotices'},\"hreflang\":\"en-us\"}},[_vm._v(\" Required Notices \")])],1),_c('v-col',{staticClass:\"align-right text-sm-center\",attrs:{\"cols\":\"6\",\"sm\":\"3\",\"lg\":\"1\"}},[_c('router-link',{attrs:{\"to\":{ name: 'termsConditions'},\"hreflang\":\"en-us\"}},[_vm._v(\" Terms & Conditions \")])],1),_c('v-col',{staticClass:\"align-left\",attrs:{\"cols\":\"6\",\"sm\":\"3\",\"lg\":\"1\"}},[_c('a',{attrs:{\"href\":\"/style library/sitemap.xml\",\"hreflang\":\"en-us\"}},[_vm._v(\" Sitemap \")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"lg\":\"5\",\"itemprop\":\"copyrightYear\"}},[_vm._v(\" Coverage and discounts are subject to qualifications and policy terms and may vary by situation.\"),_c('br'),_vm._v(\" Copyright © \"+_vm._s(_vm.year)+\" Texas Farm Bureau Mutual Insurance Company. All rights reserved. \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"lg\":\"3\"}},[_vm._l((_vm.socialMediaLinks),function(link){return _c('span',{key:link.id},[_c('a',{attrs:{\"href\":link.url,\"title\":link.alt,\"hreflang\":\"en-us\",\"rel\":\"noopener\",\"target\":\"_blank\"}},[_c('v-icon',{staticClass:\"tfb-social-icon\"},[_vm._v(_vm._s(link.icon))])],1)])}),_c('mobile-app-links')],2)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.showJdPower)?_c('span',{staticClass:\"jd-power-area\"},[(_vm.bannerType === 'image')?_c('div',{staticClass:\"jd-power-banner\"},[_c('router-link',{attrs:{\"to\":{ name: 'termsConditions'}}},[_c('div',{staticClass:\"jd-power-banner-image\"},[_c('picture',{attrs:{\"id\":\"jd-power-banner\"}},[_c('source',{attrs:{\"media\":\"(max-width: 960px)\",\"srcset\":_vm.imageRootPath +'jd-power-award.png'}}),_c('source',{attrs:{\"media\":\"(min-width: 961px)\",\"srcset\":_vm.imageRootPath +'jd-power-award-group.png'}}),_c('img',{attrs:{\"src\":_vm.imageRootPath +'jd-power-award-group.png',\"alt\":\"#1 in Customer Satisfaction Among Auto Insurers in Texas 12 out of 13 years and #1 in Trust\"}})])]),_c('div',{staticClass:\"jd-power-banner-text\"},[_c('p',[_c('span',{staticClass:\"jd-power-text-bold\"},[_vm._v(\" #1 in Customer Satisfaction \")]),_vm._v(\" Among Auto Insurers in Texas\"),_c('br'),_vm._v(\" 12 out of 13 years and \"),_c('span',{staticClass:\"jd-power-text-bold\"},[_vm._v(\"#1 in Trust\")])])])])],1):_vm._e(),(_vm.bannerType === 'text')?_c('div',{staticClass:\"text-center my-12 jd-power-text\"},[_c('router-link',{attrs:{\"to\":{ name: 'termsConditions'}}},[_c('h2',{staticClass:\"tfb-title-text-medium text-blue\"},[_c('span',{staticClass:\"jd-power-text-bold\"},[_vm._v(\" #1 in Customer Satisfaction Among Auto Insurers in Texas, \")]),_c('br'),_vm._v(\" 12 out of 13 years by J.D. Power \")])])],1):_vm._e(),(_vm.bannerType === 'footer')?_c('span',{staticClass:\"jd-power-footer-image\"},[_c('img',{attrs:{\"src\":`${_vm.imageRootPath}jd-power-award.png`,\"alt\":\"#1 in Customer Satisfaction Among Auto Insurers in Texas 12 out of 13 years and #1 in Trust\"}})]):_vm._e(),(_vm.bannerType === 'footer')?_c('span',{staticClass:\"jd-power-footer-text\"},[_vm._v(\" Texas Farm Bureau Insurance Companies. \"),_c('span',{staticClass:\"jd-power-text-bold\"},[_vm._v(\" #1 in Customer Satisfaction Among Auto Insurers in Texas 12 out of 13 years and #1 in Trust \")])]):_vm._e()]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <span v-if=\"showJdPower\"\r\n class=\"jd-power-area\">\r\n <div class=\"jd-power-banner\"\r\n v-if=\"bannerType === 'image'\">\r\n <router-link :to=\"{ name: 'termsConditions'}\">\r\n <div class=\"jd-power-banner-image\">\r\n <picture id=\"jd-power-banner\">\r\n <source media=\"(max-width: 960px)\"\r\n v-bind:srcset=\"imageRootPath +'jd-power-award.png'\">\r\n <source media=\"(min-width: 961px)\"\r\n v-bind:srcset=\"imageRootPath +'jd-power-award-group.png'\">\r\n <img v-bind:src=\"imageRootPath +'jd-power-award-group.png'\"\r\n alt=\"#1 in Customer Satisfaction Among Auto Insurers in Texas 12 out of 13 years and #1 in Trust\">\r\n </picture>\r\n </div>\r\n <div class=\"jd-power-banner-text\">\r\n <p>\r\n <span class=\"jd-power-text-bold\">\r\n #1 in Customer Satisfaction\r\n </span> Among Auto Insurers in Texas<br/>\r\n 12 out of 13 years and <span class=\"jd-power-text-bold\">#1 in Trust</span>\r\n </p>\r\n </div>\r\n </router-link>\r\n </div>\r\n <div class=\"text-center my-12 jd-power-text\"\r\n v-if=\"bannerType === 'text'\">\r\n <router-link :to=\"{ name: 'termsConditions'}\">\r\n <h2 class=\"tfb-title-text-medium text-blue\">\r\n <span class=\"jd-power-text-bold\">\r\n #1 in Customer Satisfaction Among Auto Insurers in Texas,\r\n </span><br/>\r\n 12 out of 13 years by J.D. Power\r\n </h2>\r\n </router-link>\r\n </div>\r\n <span class=\"jd-power-footer-image\"\r\n v-if=\"bannerType === 'footer'\">\r\n <img v-bind:src=\"`${imageRootPath}jd-power-award.png`\" alt=\"#1 in Customer Satisfaction Among Auto Insurers in Texas 12 out of 13 years and #1 in Trust\">\r\n </span>\r\n <span class=\"jd-power-footer-text\"\r\n v-if=\"bannerType === 'footer'\">\r\n Texas Farm Bureau Insurance Companies.\r\n <span class=\"jd-power-text-bold\">\r\n #1 in Customer Satisfaction Among Auto Insurers in Texas 12 out of 13 years and #1 in Trust\r\n </span>\r\n </span>\r\n </span>\r\n</template>\r\n<script>\r\n export default {\r\n name: 'JdPowerBanner',\r\n props: {\r\n bannerType: {\r\n type: String,\r\n required: true,\r\n default() {\r\n return 'image';\r\n },\r\n validator(value) {\r\n return [\r\n 'image',\r\n 'text',\r\n 'footer',\r\n ].indexOf(value) !== -1;\r\n },\r\n },\r\n },\r\n computed: {\r\n imageRootPath() {\r\n return `${process.env.VUE_APP_ROOT_URI}/publishingimages/`;\r\n },\r\n showJdPower() {\r\n if (!this.$store.state.app.showJdPower) {\r\n this.$store.dispatch('app/setVisitor');\r\n }\r\n return this.$store.state.app.showJdPower;\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .jd-power-area {\r\n z-index: 998;\r\n }\r\n\r\n .jd-power-text {\r\n max-width: 1300px;\r\n margin: auto;\r\n }\r\n .jd-power-banner {\r\n background-color: $tfb-darker-blue;\r\n margin-top: 180px;\r\n align-content: center;\r\n text-align: center;\r\n margin-bottom: 40px;\r\n }\r\n\r\n .jd-power-banner-image img {\r\n max-width: 1200px;\r\n margin-top: -150px;\r\n }\r\n\r\n .jd-power-banner-text {\r\n margin-top: -250px;\r\n color: $white;\r\n font-family: 'BS-light', $body-font-family;\r\n font-size: 40px;\r\n width: 100%;\r\n padding-bottom: 20px;\r\n }\r\n\r\n .jd-power-banner-text p {\r\n max-width: 1200px;\r\n margin-left: auto;\r\n margin-right: auto;\r\n }\r\n\r\n .jd-power-text-bold {\r\n font-family: 'BS-bold', $body-font-family;\r\n font-weight: 900;\r\n }\r\n\r\n .jd-power-banner-text a,\r\n .jd-power-banner-text a:hover,\r\n .jd-power-banner-text a:visited {\r\n color: $white;\r\n }\r\n\r\n .jd-power-area a:hover {\r\n text-decoration: none;\r\n }\r\n\r\n .jd-power-footer-image img {\r\n max-width: 100px;\r\n margin-top: -30px;\r\n z-index: 999;\r\n }\r\n\r\n .jd-power-footer-text {\r\n margin-top: -25px;\r\n color: $white;\r\n padding: 5px 10px;\r\n font-size: 20px;\r\n font-family: 'BS-light', $body-font-family;\r\n max-width: 600px;\r\n height: 92px;\r\n }\r\n\r\n @media (max-width: 1600px) {\r\n .jd-power-footer-text {\r\n display: none !important;\r\n }\r\n }\r\n\r\n @media (max-width: 960px) {\r\n .jd-power-banner {\r\n margin-top: 100px;\r\n }\r\n\r\n .jd-power-banner-image img {\r\n margin-top: -60px;\r\n }\r\n\r\n .jd-power-banner-text {\r\n margin-top: -5px;\r\n color: $white;\r\n padding: 5px 10px;\r\n font-size: 20px;\r\n }\r\n\r\n .jd-power-banner-text p {\r\n max-width: 600px;\r\n }\r\n }\r\n\r\n @media (min-width: 960px) {\r\n .jd-power-footer-image img {\r\n margin-top: -25px;\r\n margin-bottom: -72px;\r\n margin-right: 5px;\r\n margin-left: 5px;\r\n }\r\n }\r\n\r\n @media (min-width: 1264px) {\r\n .jd-power-footer-image img {\r\n margin-bottom: -52px;\r\n }\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JDPowerBanner.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JDPowerBanner.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./JDPowerBanner.vue?vue&type=template&id=7a180fd3\"\nimport script from \"./JDPowerBanner.vue?vue&type=script&lang=js\"\nexport * from \"./JDPowerBanner.vue?vue&type=script&lang=js\"\nimport style0 from \"./JDPowerBanner.vue?vue&type=style&index=0&id=7a180fd3&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"appstore-links-width-override\"},[_c('v-row',[(_vm.appleLink && _vm.appleLink !== undefined && _vm.appleLink !== null && _vm.appleLink !== '')?_c('v-col',{attrs:{\"cols\":\"6\",\"align\":\"center\"}},[_c('a',{attrs:{\"href\":_vm.appleLink,\"target\":\"_blank\"}},[_c('img',{staticClass:\"appstore-badge\",attrs:{\"src\":`${_vm.imageRootPath}icons/apple-appstore-badge.svg`,\"alt\":\"Download on the App Store\"}})])]):_vm._e(),(_vm.googleLink && _vm.googleLink !== undefined && _vm.googleLink !== null && _vm.googleLink !== '')?_c('v-col',{attrs:{\"cols\":\"6\",\"align\":\"center\"}},[_c('a',{attrs:{\"href\":_vm.googleLink,\"target\":\"_blank\"}},[_c('img',{staticClass:\"appstore-badge\",attrs:{\"src\":`${_vm.imageRootPath}icons/google-play-badge.png`,\"alt\":\"Get it on Google Play\"}})])]):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container class=\"appstore-links-width-override\">\r\n <v-row>\r\n <v-col cols=\"6\"\r\n align=\"center\"\r\n v-if=\"appleLink && appleLink !== undefined && appleLink !== null && appleLink !== ''\">\r\n <a v-bind:href=\"appleLink\"\r\n target=\"_blank\">\r\n <img v-bind:src=\"`${imageRootPath}icons/apple-appstore-badge.svg`\"\r\n alt=\"Download on the App Store\"\r\n class=\"appstore-badge\">\r\n </a>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n align=\"center\"\r\n v-if=\"googleLink && googleLink !== undefined && googleLink !== null && googleLink !== ''\">\r\n <a v-bind:href=\"googleLink\"\r\n target=\"_blank\">\r\n <img v-bind:src=\"`${imageRootPath}icons/google-play-badge.png`\"\r\n alt=\"Get it on Google Play\"\r\n class=\"appstore-badge\" />\r\n </a>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n export default {\r\n name: 'MobileAppFooterLinks',\r\n mixins: [],\r\n data() {\r\n return {};\r\n },\r\n computed: {\r\n imageRootPath() {\r\n return `${process.env.VUE_APP_ROOT_URI}/publishingimages/`;\r\n },\r\n appleLink() {\r\n if (!this.$store.state.app.appleAppStoreLink) {\r\n this.$store.dispatch('app/setVisitor');\r\n }\r\n return this.$store.state.app.appleAppStoreLink;\r\n },\r\n googleLink() {\r\n if (!this.$store.state.app.googleAppStoreLink) {\r\n this.$store.dispatch('app/setVisitor');\r\n }\r\n return this.$store.state.app.googleAppStoreLink;\r\n },\r\n },\r\n mounted() {},\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .appstore-links-width-override {\r\n width: auto !important;\r\n }\r\n .appstore-badge {\r\n min-height: 40px;\r\n width: 150px;\r\n display: inline-block;\r\n overflow: hidden;\r\n }\r\n\r\n @media (min-width: 960px) {\r\n .appstore-badge {\r\n height: 50px;\r\n width: auto;\r\n }\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileAppLinks.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileAppLinks.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MobileAppLinks.vue?vue&type=template&id=00a5566e\"\nimport script from \"./MobileAppLinks.vue?vue&type=script&lang=js\"\nexport * from \"./MobileAppLinks.vue?vue&type=script&lang=js\"\nimport style0 from \"./MobileAppLinks.vue?vue&type=style&index=0&id=00a5566e&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div class=\"row-footer no-print\">\r\n <div class=\"tfb-footer-banner\">\r\n <jd-power-banner banner-type=\"footer\"></jd-power-banner>\r\n <img v-bind:src=\"`${imageRootPath}red-white-star-large.png`\"\r\n alt=\"Texas Farm Bureau\"\r\n class=\"star-footer-image\"\r\n v-if=\"($vuetify.breakpoint.lgAndDown && !showJdPower) || $vuetify.breakpoint.lgAndUp\">\r\n </div>\r\n <v-container fluid\r\n class=\"tfb-container\">\r\n <v-row class=\"row-footer-white\">\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n lg=\"3\">\r\n <img class=\"protect-image d-none d-md-block d-lg-block d-xl-block\"\r\n alt=\"Texas Farm Bureau Insurance\"\r\n id=\"tfb-logo-footer\"\r\n v-bind:src=\"imageRootPath +'tfb-logo.jpg'\" />\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"8\"\r\n lg=\"6\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"4\"\r\n class=\"text-center text-sm-left\">\r\n <router-link :to=\"{ name: 'about'}\"\r\n hreflang=\"en-us\"\r\n title=\"Our Story\"\r\n class=\"footer-link\">\r\n Our Story\r\n </router-link><br />\r\n <router-link :to=\"{ name: 'countyLookup'}\"\r\n hreflang=\"en-us\"\r\n title=\"Find an Agent\"\r\n class=\"footer-link\">\r\n Find an Agent\r\n </router-link><br />\r\n <router-link :to=\"{ name: 'countyListing'}\"\r\n hreflang=\"en-us\"\r\n title=\"County Office Listing\"\r\n class=\"footer-link\">\r\n County Office Listing\r\n </router-link><br />\r\n <router-link :to=\"{ name: 'careers'}\"\r\n hreflang=\"en-us\"\r\n title=\"Careers\"\r\n class=\"footer-link\">\r\n Careers\r\n </router-link><br />\r\n </v-col>\r\n <v-col cols=\"12\" sm=\"4\" class=\"text-center text-sm-left\">\r\n <router-link :to=\"{ name: 'claims'}\"\r\n hreflang=\"en-us\"\r\n title=\"Claims\"\r\n class=\"footer-link\">\r\n Claims\r\n </router-link><br />\r\n <router-link :to=\"{ name: 'paymentOptions'}\"\r\n hreflang=\"en-us\"\r\n title=\"Make a Payment\"\r\n class=\"footer-link\">\r\n Make a Payment\r\n </router-link><br />\r\n <router-link :to=\"{ name: 'policyholderLogin'}\"\r\n :hreflang=\"'en-us'\"\r\n title=\"Find Auto ID Card\"\r\n class=\"footer-link\">\r\n Find Auto ID Card\r\n </router-link><br />\r\n <router-link :to=\"{ name: 'contact'}\"\r\n hreflang=\"en-us\"\r\n title=\"Contact Us\"\r\n class=\"footer-link\">\r\n Contact Us\r\n </router-link><br />\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"4\"\r\n class=\"text-center text-sm-left\">\r\n <a href=\"https://www.farmbureau.bank/\"\r\n hreflang=\"en-us\"\r\n title=\"Farm Bureau Bank\"\r\n rel=\"noopener\"\r\n target=\"_blank\"\r\n class=\"footer-link\">Farm Bureau Bank</a><br />\r\n <a href=\"https://texasfarmbureau.org/\"\r\n hreflang=\"en-us\"\r\n title=\"Texas Farm Bureau\"\r\n rel=\"noopener\"\r\n target=\"_blank\"\r\n class=\"footer-link\">Texas Farm Bureau</a><br />\r\n <a href=\"https://tfbhp.com\"\r\n hreflang=\"en-us\"\r\n title=\"TFB Health Plans\"\r\n rel=\"noopener\"\r\n target=\"_blank\"\r\n class=\"footer-link\">TFB Health Plans</a><br />\r\n <a href=\"https://www.multiplan.com/webcenter/portal/ProviderSearch\"\r\n hreflang=\"en-us\"\r\n title=\"PHCS\"\r\n rel=\"noopener\"\r\n target=\"_blank\"\r\n class=\"footer-link\">PHCS</a>\r\n </v-col>\r\n </v-row>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n lg=\"3\"\r\n class=\"align-center\">\r\n <v-btn class=\"tfb-button-min row-footer-button background-blue\"\r\n :to=\"{ name: 'countyLookup'}\"\r\n :hreflang=\"'en-us'\"\r\n :title=\"'Find an Agent'\">Find an Agent</v-btn><br />\r\n <v-btn class=\"tfb-button-min row-footer-button background-red\"\r\n :to=\"{ name: 'quoteEntry', params: { type: 'auto' }}\"\r\n :hreflang=\"'en-us'\"\r\n :title=\"'Get a Quote'\">Get a Quote</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <v-footer padless\r\n class=\"row-footer-gray\"\r\n align=\"end\"\r\n justify=\"center\">\r\n <v-col cols=\"6\"\r\n sm=\"3\"\r\n lg=\"1\"\r\n class=\"align-right\">\r\n <router-link :to=\"{ name: 'privacy'}\"\r\n hreflang=\"en-us\">\r\n Privacy\r\n </router-link>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n sm=\"3\"\r\n lg=\"1\"\r\n class=\"align-left text-sm-center align-md-right\">\r\n <router-link :to=\"{ name: 'requiredNotices'}\"\r\n hreflang=\"en-us\">\r\n Required Notices\r\n </router-link>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n sm=\"3\"\r\n lg=\"1\"\r\n class=\"align-right text-sm-center\">\r\n <router-link :to=\"{ name: 'termsConditions'}\"\r\n hreflang=\"en-us\">\r\n Terms & Conditions\r\n </router-link>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n sm=\"3\"\r\n lg=\"1\"\r\n class=\"align-left\">\r\n <a href=\"/style library/sitemap.xml\"\r\n hreflang=\"en-us\">\r\n Sitemap\r\n </a>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n lg=\"5\"\r\n itemprop=\"copyrightYear\">\r\n Coverage and discounts are subject to qualifications and policy terms and may vary by situation.<br />\r\n Copyright © {{ year }} Texas Farm Bureau Mutual Insurance Company.\r\n All rights reserved.\r\n </v-col>\r\n <v-col cols=\"12\"\r\n lg=\"3\">\r\n <span v-for=\"link in socialMediaLinks\"\r\n v-bind:key=\"link.id\">\r\n <a v-bind:href=\"link.url\"\r\n :title=\"link.alt\"\r\n hreflang=\"en-us\"\r\n rel=\"noopener\"\r\n target=\"_blank\">\r\n <v-icon class=\"tfb-social-icon\">{{link.icon}}</v-icon>\r\n </a>\r\n </span>\r\n <mobile-app-links></mobile-app-links>\r\n </v-col>\r\n </v-footer>\r\n </div>\r\n</template>\r\n<script>\r\n import JdPowerBanner from '@/views/layout/components/JDPowerBanner.vue';\r\n import MobileAppLinks from '@/views/layout/components/MobileAppLinks.vue';\r\n\r\n export default {\r\n name: 'Footer',\r\n components: {\r\n JdPowerBanner,\r\n MobileAppLinks,\r\n },\r\n computed: {\r\n imageRootPath() {\r\n return `${process.env.VUE_APP_ROOT_URI}/publishingimages/`;\r\n },\r\n year() {\r\n return new Date().getFullYear();\r\n },\r\n showJdPower() {\r\n if (!this.$store.state.app.showJdPower) {\r\n this.$store.dispatch('app/setVisitor');\r\n }\r\n return this.$store.state.app.showJdPower;\r\n },\r\n socialMediaLinks() {\r\n return [\r\n {\r\n text: 'Facebook',\r\n url: 'https://www.facebook.com/texasfarmbureauinsurance/',\r\n icon: 'mdi-facebook',\r\n alt: 'Visit us on Facebook!',\r\n },\r\n {\r\n text: 'Twitter',\r\n url: 'https://twitter.com/TXFBInsurance',\r\n icon: 'mdi-twitter',\r\n alt: 'Visit us on Twitter!',\r\n },\r\n {\r\n text: 'Instagram',\r\n url: 'https://www.instagram.com/texasheritageforliving/',\r\n icon: 'mdi-instagram',\r\n alt: 'Visit us on Instagram!',\r\n },\r\n {\r\n text: 'YouTube',\r\n url: 'https://www.youtube.com/channel/UCAAiaNAyH5VlC1yC7sL_M3A',\r\n icon: 'mdi-youtube',\r\n alt: 'Visit us on YouTube!',\r\n },\r\n {\r\n text: 'Pinterest',\r\n url: 'https://www.pinterest.com/THFLmagazine/',\r\n icon: 'mdi-pinterest',\r\n alt: 'Visit us on Pinterest!',\r\n },\r\n ];\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .row-footer {\r\n bottom: 0;\r\n left: 0;\r\n /*top: -165px;*/\r\n position: relative;\r\n }\r\n\r\n .row-footer-white {\r\n color: $tfb-darker-gray;\r\n text-align: left;\r\n font-size: .8em;\r\n vertical-align: middle;\r\n padding: 5px;\r\n margin-top: 20px;\r\n margin-bottom: 20px;\r\n }\r\n\r\n .footer-link,\r\n .footer-link a:visited,\r\n .footer-link a {\r\n color: $tfb-darker-gray !important;\r\n font-family: 'BS-light', $body-font-family;\r\n font-size: large;\r\n font-weight: 300;\r\n vertical-align: middle;\r\n text-decoration: none;\r\n margin: 15px;\r\n }\r\n\r\n .footer-link a:hover {\r\n text-decoration: underline;\r\n }\r\n\r\n @media (min-width: 960px) {\r\n .footer-link {\r\n font-size: small;\r\n margin: 5px;\r\n }\r\n }\r\n\r\n #tfb-logo-footer {\r\n max-height: 85px;\r\n }\r\n\r\n .row-footer-gray {\r\n background-color: $tfb-gray !important;\r\n color: $white !important;\r\n text-align: center;\r\n font-size: .75em;\r\n vertical-align: middle;\r\n padding: 5px;\r\n }\r\n\r\n .row-footer-gray a:hover,\r\n .row-footer-gray a:focus {\r\n color: $tfb-darkest-blue;\r\n text-decoration: underline;\r\n }\r\n\r\n .row-footer-gray a:visited,\r\n .row-footer-gray a {\r\n color: $white;\r\n text-decoration: none !important;\r\n }\r\n\r\n .tfb-social-icon.theme--light.v-icon {\r\n color: $white;\r\n text-decoration: none !important;\r\n margin: 0px 5px;\r\n }\r\n\r\n .tfb-social-icon.theme--light.v-icon:hover,\r\n a:hover.tfb-social-icon.theme--light.v-icon {\r\n color: $tfb-darkest-blue;\r\n text-decoration: none !important;\r\n }\r\n\r\n .row-footer-button {\r\n margin: 5px;\r\n }\r\n\r\n .tfb-footer-banner {\r\n z-index: 998;\r\n bottom: 0;\r\n left: 0;\r\n background-color: $tfb-darker-red;\r\n width: 100%;\r\n height: 92px;\r\n align-content: center;\r\n text-align: center;\r\n }\r\n\r\n img.star-footer-image {\r\n margin-top: -149px;\r\n width: 175px;\r\n z-index: 999;\r\n float: right;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=a83079c4\"\nimport script from \"./Footer.vue?vue&type=script&lang=js\"\nexport * from \"./Footer.vue?vue&type=script&lang=js\"\nimport style0 from \"./Footer.vue?vue&type=style&index=0&id=a83079c4&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"main-content\"}},[_c('v-overlay',{attrs:{\"value\":_vm.pageLoading}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1),_c('v-dialog',{attrs:{\"hide-overlay\":\"\",\"persistent\":\"\",\"width\":\"300\"},model:{value:(_vm.documentLoading),callback:function ($$v) {_vm.documentLoading=$$v},expression:\"documentLoading\"}},[_c('v-card',{attrs:{\"color\":_vm.loadingColor,\"dark\":\"\"}},[_c('v-card-text',[_c('br'),_vm._v(\" Document opened in new window. If you do not see the document, ensure that you have your pop-up blocker turned off, or allow pop-ups from this website. \")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"white\",\"text\":\"\"},on:{\"click\":function($event){_vm.documentLoading = false}}},[_vm._v(\" Close \")])],1)],1)],1),_c('error-message'),_c('router-view'),_c('scroll-to-top'),_c('live-chat')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-fab-transition',[_c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.fab),expression:\"fab\"},{name:\"scroll\",rawName:\"v-scroll\",value:(_vm.onScroll),expression:\"onScroll\"}],staticClass:\"no-print\",style:({ bottom: '80px' }),attrs:{\"aria-label\":\"Scroll to top\",\"bottom\":\"\",\"color\":\"background-darker-blue\",\"fab\":\"\",\"fixed\":\"\",\"large\":\"\",\"right\":\"\",\"title\":\"Scroll to top\"},on:{\"click\":_vm.toTop}},[_c('v-icon',[_vm._v(\"mdi-chevron-up\")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-fab-transition>\r\n <v-btn v-show=\"fab\"\r\n v-scroll=\"onScroll\"\r\n :style=\"{ bottom: '80px' }\"\r\n aria-label=\"Scroll to top\"\r\n bottom\r\n color=\"background-darker-blue\"\r\n fab\r\n fixed\r\n large\r\n right\r\n title=\"Scroll to top\"\r\n @click=\"toTop\"\r\n class=\"no-print\">\r\n <v-icon>mdi-chevron-up</v-icon>\r\n </v-btn>\r\n </v-fab-transition>\r\n</template>\r\n\r\n<script>\r\n// Utilities\r\nexport default {\r\n name: 'ScrollToTop',\r\n data: () => ({ fab: false }),\r\n methods: {\r\n onScroll() {\r\n if (typeof window === 'undefined') return;\r\n const top = (\r\n window.pageYOffset\r\n || document.documentElement.offsetTop\r\n || 0\r\n );\r\n this.fab = top > 300;\r\n },\r\n toTop() {\r\n this.$router.push({ hash: '' });\r\n this.$vuetify.goTo(0);\r\n },\r\n },\r\n};\r\n</script>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScrollToTop.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScrollToTop.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ScrollToTop.vue?vue&type=template&id=d0a43eb0\"\nimport script from \"./ScrollToTop.vue?vue&type=script&lang=js\"\nexport * from \"./ScrollToTop.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-fab-transition',[_c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showChatIndicator),expression:\"showChatIndicator\"}],staticClass:\"no-print tfb-btn-chat pa-4\",style:({ bottom: '5px' }),attrs:{\"aria-label\":\"Live Chat\",\"bottom\":\"\",\"color\":\"background-blue\",\"x-large\":\"\",\"fixed\":\"\",\"right\":\"\",\"title\":\"Live Chat\"},on:{\"click\":_vm.showChatWindow}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-chat-outline\")]),_vm._v(\" Live Chat \")],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-fab-transition>\r\n <v-btn v-show=\"showChatIndicator\"\r\n :style=\"{ bottom: '5px' }\"\r\n aria-label=\"Live Chat\"\r\n bottom\r\n color=\"background-blue\"\r\n x-large\r\n fixed\r\n right\r\n title=\"Live Chat\"\r\n @click=\"showChatWindow\"\r\n class=\"no-print tfb-btn-chat pa-4\">\r\n <v-icon left>mdi-chat-outline</v-icon>\r\n Live Chat\r\n </v-btn>\r\n </v-fab-transition>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'LiveChat',\r\n mixins: [tfbHelperMixin],\r\n data() {\r\n return {\r\n chatEnabledIndicator: false,\r\n };\r\n },\r\n computed: {\r\n showChatIndicator() {\r\n return this.isLoggedIn && this.$store.state.app.liveChatEnabled === 'Y';\r\n },\r\n },\r\n methods: {\r\n showChatWindow() {\r\n this.$router.push({ hash: '' });\r\n this.$vuetify.goTo(0);\r\n },\r\n },\r\n };\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n .tfb-btn-chat {\r\n border-radius: 0.25rem;\r\n z-index: 4;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveChat.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveChat.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LiveChat.vue?vue&type=template&id=7396227b\"\nimport script from \"./LiveChat.vue?vue&type=script&lang=js\"\nexport * from \"./LiveChat.vue?vue&type=script&lang=js\"\nimport style0 from \"./LiveChat.vue?vue&type=style&index=0&id=7396227b&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div id=\"main-content\">\r\n <v-overlay :value=\"pageLoading\">\r\n <v-progress-circular indeterminate\r\n size=\"64\"></v-progress-circular>\r\n </v-overlay>\r\n <v-dialog v-model=\"documentLoading\"\r\n hide-overlay\r\n persistent\r\n width=\"300\">\r\n <v-card :color=\"loadingColor\"\r\n dark>\r\n <v-card-text>\r\n <br/>\r\n Document opened in new window. If you do not see the document,\r\n ensure that you have your pop-up blocker turned off, or allow\r\n pop-ups from this website.\r\n </v-card-text>\r\n <v-card-actions>\r\n <v-spacer></v-spacer>\r\n <v-btn color=\"white\"\r\n text\r\n @click=\"documentLoading = false\">\r\n Close\r\n </v-btn>\r\n </v-card-actions>\r\n </v-card>\r\n </v-dialog>\r\n <error-message />\r\n <router-view></router-view>\r\n <scroll-to-top />\r\n <live-chat />\r\n </div>\r\n</template>\r\n<script>\r\n import { sync } from 'vuex-pathify';\r\n import ScrollToTop from './components/ScrollToTop.vue';\r\n import LiveChat from './components/LiveChat.vue';\r\n\r\n export default {\r\n name: 'MainContent',\r\n components: {\r\n ScrollToTop,\r\n LiveChat,\r\n },\r\n computed: {\r\n pageLoading() {\r\n return this.$store.state.app.isLoading;\r\n },\r\n documentLoading: sync('app/isDocumentLoading'),\r\n loadingColor() {\r\n return '#A40013';\r\n },\r\n },\r\n };\r\n</script>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainContent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainContent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MainContent.vue?vue&type=template&id=1f6f6460\"\nimport script from \"./MainContent.vue?vue&type=script&lang=js\"\nexport * from \"./MainContent.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"tfb-service\"}},[(_vm.serviceItem !== null)?_c('div',{attrs:{\"id\":\"tfb-service-header\"}},[_c('div',{staticClass:\"tfb-header-photo\",style:(_vm.getHeaderBackgroundImage(_vm.imageRootPath + _vm.serviceItem.HeaderFileName))}),_c('v-container',{staticClass:\"tfb-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"tfb-service-quote-display\"},[_c('v-col',{staticClass:\"ml-auto tfb-header-overlay\",attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('v-card',{staticClass:\"py-2\",attrs:{\"flat\":\"\",\"tile\":\"\"}},[_c('v-card-text',{staticClass:\"align-center\"},[_c('h2',{staticClass:\"tfb-title-text-medium text-uppercase text-center\"},[_vm._v(\" \"+_vm._s(_vm.serviceItem.Title)+\" Quote \")]),_vm._v(\" \"+_vm._s(_vm.serviceItem.TagLine)+\" \"),_c('br'),_c('br'),(_vm.serviceItem.AllowQuotes)?_c('v-btn',{staticClass:\"tfb-quote-button-min background-red\",attrs:{\"to\":{ name: 'quoteEntry', params: { type: _vm.serviceItem.ServiceType }},\"hreflang\":\"en-us\"}},[_vm._v(\"Let's Begin\")]):_vm._e(),(!_vm.serviceItem.AllowQuotes)?_c('v-btn',{staticClass:\"tfb-quote-button-min background-red\",attrs:{\"to\":{ name: 'countyLookup' },\"hreflang\":\"en-us\"}},[_vm._v(\"Find a Local Agent\")]):_vm._e()],1),(_vm.serviceItem.AllowQuotes)?_c('v-card-actions',{staticClass:\"tfb-card-footer\"},[_c('router-link',{attrs:{\"to\":{ name: 'quoteEntry', params: { type: _vm.serviceItem.ServiceType }},\"hreflang\":\"en-us\"}},[_vm._v(\" Retrieve Saved Quote \")]),_vm._v(\" | \"),_c('router-link',{attrs:{\"to\":{ name: 'countyLookup'},\"hreflang\":\"en-us\"}},[_vm._v(\"Find an Agent\")])],1):_vm._e()],1)],1)],1),_c('v-row',{staticClass:\"pb-5\"},[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('h1',{staticClass:\"tfb-title-text-large tfb-darkest-blue--text\"},[_vm._v(\" \"+_vm._s(_vm.serviceItem.Title)+\" Insurance \")]),_c('h2',{staticClass:\"tfb-title-text\"},[_vm._v(\" \"+_vm._s(_vm.serviceItem.HeaderText)+\" \")])])],1)],1)],1):_vm._e(),(_vm.serviceItem !== null && _vm.serviceItem.ServiceCopy !== null && _vm.serviceItem.ServiceCopy !== '')?_c('v-container',{staticClass:\"tfb-container mt-12\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.serviceItem.ServiceCopy)}})]):_vm._e(),_c('service-coverages',{attrs:{\"service\":_vm.serviceType,\"service-item\":_vm.serviceItem}}),(_vm.serviceType === 'auto')?_c('jd-power-banner',{attrs:{\"banner-type\":\"text\"}}):_vm._e(),_c('star-divider'),(_vm.serviceItem)?_c('blog',{attrs:{\"header\":_vm.serviceItem.GuideTitle,\"sub-header\":_vm.serviceItem.GuideHeader,\"keywords\":_vm.blogKeywords}}):_vm._e(),_c('service-discounts',{attrs:{\"service\":_vm.serviceType,\"service-item\":_vm.serviceItem}}),(_vm.serviceType === 'auto')?_c('drive-n-save-section'):_vm._e(),_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"id\":\"tfb-service-faqs\"}},[_c('faqs',{attrs:{\"faq-keyword\":_vm.serviceType}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('videos',{attrs:{\"video-array\":_vm.serviceVideos}})],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"align-center mt-6\"},[_c('img',{staticClass:\"tfb-page-divider mx-auto\",attrs:{\"src\":_vm.imageRootPath + 'divider-star.png',\"alt\":\"Page Divider\"}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container class=\"align-center mt-6\">\r\n <img class=\"tfb-page-divider mx-auto\"\r\n v-bind:src=\"imageRootPath + 'divider-star.png'\"\r\n alt=\"Page Divider\" />\r\n </v-container>\r\n</template>\r\n<script>\r\n export default {\r\n name: 'StarDivider',\r\n computed: {\r\n imageRootPath() {\r\n return `${process.env.VUE_APP_ROOT_URI}/publishingimages/`;\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .tfb-page-divider {\r\n width: 100%;\r\n max-width: 992px;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StarDivider.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StarDivider.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./StarDivider.vue?vue&type=template&id=6ebfbf18\"\nimport script from \"./StarDivider.vue?vue&type=script&lang=js\"\nexport * from \"./StarDivider.vue?vue&type=script&lang=js\"\nimport style0 from \"./StarDivider.vue?vue&type=style&index=0&id=6ebfbf18&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.serviceCoverages !== null && _vm.serviceCoverages.length > 0)?_c('div',{staticClass:\"my-12\"},[_c('div',{staticClass:\"text-center\"},[_c('h2',{staticClass:\"tfb-title-text font-weight-bold text-darker-blue text-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.serviceItem.CoverageHeader)+\" \")])]),_vm._l((_vm.serviceCoverages),function(coverageGroup){return _c('v-container',{key:coverageGroup.Name,class:[ (_vm.serviceCoverages && _vm.serviceCoverages[0] && _vm.serviceCoverages[0].Coverages && _vm.serviceCoverages[0].Coverages.length <= 3) ? 'tfb-container' : 'tfb-larger-container' ],attrs:{\"fill-height\":\"\"}},[(coverageGroup.Name !== null && coverageGroup.Name !== '' && coverageGroup.Name !== 'None')?_c('v-row',{staticClass:\"text-center\"},[_c('v-col',[_c('h3',{staticClass:\"tfb-title-text font-weight-bold text-darker-blue text-uppercase\"},[_vm._v(\" \"+_vm._s(coverageGroup.Name)+\" \")])])],1):_vm._e(),_c('v-row',[_vm._l((coverageGroup.Coverages),function(coverage){return _c('v-col',{key:coverage.id},[_c('coverage-card',{attrs:{\"coverage\":coverage,\"fixed-width\":coverageGroup.Coverages.length > 5}})],1)}),(_vm.serviceOptionalCoverages && _vm.serviceOptionalCoverages.length > 0)?_c('v-col',[_c('v-card',{staticClass:\"service-coverage-card\"},[_c('v-card-text',[_c('h3',{staticClass:\"font-weight-bold text-darker-blue tfb-title-text-smaller text-uppercase\"},[_vm._v(\" Optional Coverages \")]),_c('v-list',{attrs:{\"dense\":\"\"}},_vm._l((_vm.serviceOptionalCoverages),function(coverage,i){return _c('v-list-item',{key:i},[_c('optional-coverage-item',{attrs:{\"coverage\":coverage}})],1)}),1)],1)],1)],1):_vm._e()],2)],1)})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-card',{class:[ _vm.fixedWidth ? 'tfb-service-coverage-card-fixed' : 'tfb-service-coverage-card', 'mx-auto' ],attrs:{\"elevation\":\"2\"}},[_c('v-card-title',{staticClass:\"tfb-service-coverage-card-title text-center\"},[(_vm.coverage.IconFileName && _vm.coverage.IconFileName !== '' && _vm.coverage.IconFileName !== null)?_c('img',{staticClass:\"mx-auto my-1 tfb-service-coverage-icon\",attrs:{\"src\":_vm.imageRootPath +'policy-icons/' + _vm.coverage.IconFileName,\"aria-hidden\":\"true\",\"alt\":_vm.coverage.Title}}):_vm._e()]),_c('v-card-subtitle',{staticClass:\"tfb-service-coverage-card-subtitle text-center\"},[_c('h3',{staticClass:\"font-weight-bold text-darker-blue tfb-title-text-smaller text-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.coverage.Title)+\" \")])]),_c('v-card-text',{staticClass:\"tfb-service-coverage-card-text text-center\"},[(_vm.coverage.ShortDescription && _vm.coverage.ShortDescription !== '' && _vm.coverage.ShortDescription !== null)?_c('p',[_vm._v(_vm._s(_vm.coverage.ShortDescription))]):_vm._e()]),_c('v-card-actions',{staticClass:\"tfb-service-coverage-card-action text-center\"},[(_vm.coverage.CoverageTypeRequirement && _vm.coverage.CoverageTypeRequirement === 'Required')?_c('span',{staticClass:\"font-italic tfb-service-coverage-card-require\"},[_vm._v(\"Need to have!\"),_c('br')]):_vm._e(),(_vm.coverage.CoverageTypeRequirement && _vm.coverage.CoverageTypeRequirement === 'Preferred')?_c('span',{staticClass:\"font-italic tfb-service-coverage-card-require\"},[_vm._v(\"Nice to have!\"),_c('br')]):_vm._e(),(_vm.coverage.LongDescription && _vm.coverage.LongDescription !== '' && _vm.coverage.LongDescription !== null)?_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function({ hover }){return _c('v-btn',{class:`${hover? 'tfb-service-button-hover': ''} tfb-service-button mx-auto`,attrs:{\"outlined\":\"\"},on:{\"click\":function($event){$event.stopPropagation();_vm.modal = true}}},[_vm._v(\"Learn More\")])}}],null,false,926209230)}):_vm._e()],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"600px\"},model:{value:(_vm.modal),callback:function ($$v) {_vm.modal=$$v},expression:\"modal\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"background-darker-blue\"},[_c('h3',{staticClass:\"tfb-title-text-small\"},[_vm._v(_vm._s(_vm.coverage.Title))])]),_c('v-card-text',[_c('v-container',{staticClass:\"tfb-component-container\"},[_c('v-row',[_c('v-col',{staticClass:\"py-5\",attrs:{\"cols\":\"12\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.coverage.LongDescription)}})])],1)],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <v-card v-bind:class=\"[ fixedWidth ? 'tfb-service-coverage-card-fixed' : 'tfb-service-coverage-card', 'mx-auto' ]\"\r\n elevation=\"2\">\r\n <v-card-title class=\"tfb-service-coverage-card-title text-center\">\r\n <img v-bind:src=\"imageRootPath +'policy-icons/' + coverage.IconFileName\"\r\n class=\"mx-auto my-1 tfb-service-coverage-icon\"\r\n aria-hidden=\"true\"\r\n v-bind:alt=\"coverage.Title\"\r\n v-if=\"coverage.IconFileName && coverage.IconFileName !== '' && coverage.IconFileName !== null\" />\r\n </v-card-title>\r\n <v-card-subtitle class=\"tfb-service-coverage-card-subtitle text-center\">\r\n <h3 class=\"font-weight-bold text-darker-blue tfb-title-text-smaller text-uppercase\">\r\n {{ coverage.Title }}\r\n </h3>\r\n </v-card-subtitle>\r\n <v-card-text class=\"tfb-service-coverage-card-text text-center\">\r\n <p v-if=\"coverage.ShortDescription && coverage.ShortDescription !== '' && coverage.ShortDescription !== null\">{{ coverage.ShortDescription }}</p>\r\n </v-card-text>\r\n <v-card-actions class=\"tfb-service-coverage-card-action text-center\">\r\n <span class=\"font-italic tfb-service-coverage-card-require\" v-if=\"coverage.CoverageTypeRequirement && coverage.CoverageTypeRequirement === 'Required'\">Need to have!<br /></span>\r\n <span class=\"font-italic tfb-service-coverage-card-require\" v-if=\"coverage.CoverageTypeRequirement && coverage.CoverageTypeRequirement === 'Preferred'\">Nice to have!<br /></span>\r\n <v-hover v-if=\"coverage.LongDescription && coverage.LongDescription !== '' && coverage.LongDescription !== null\">\r\n <v-btn slot-scope=\"{ hover }\"\r\n :class=\"`${hover? 'tfb-service-button-hover': ''} tfb-service-button mx-auto`\"\r\n outlined\r\n @click.stop=\"modal = true\">Learn More</v-btn>\r\n </v-hover>\r\n </v-card-actions>\r\n </v-card>\r\n <v-dialog v-model=\"modal\"\r\n max-width=\"600px\">\r\n <v-card>\r\n <v-card-title class=\"background-darker-blue\">\r\n <h3 class=\"tfb-title-text-small\">{{coverage.Title}}</h3>\r\n </v-card-title>\r\n <v-card-text>\r\n <v-container class=\"tfb-component-container\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-5\">\r\n <span v-html=\"coverage.LongDescription\"></span>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </v-card-text>\r\n </v-card>\r\n </v-dialog>\r\n </div>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'CoverageCard',\r\n props: {\r\n coverage: {\r\n type: Object,\r\n required: true,\r\n },\r\n fixedWidth: {\r\n type: Boolean,\r\n required: true,\r\n default: false,\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n data() {\r\n return {\r\n modal: false,\r\n };\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfb-service-coverage-icon {\r\n max-height: 46px;\r\n }\r\n\r\n .tfb-service-coverage-card,\r\n .tfb-service-coverage-card-fixed {\r\n /*height: 275px;\r\n max-height: 275px;*/\r\n min-width: 280px;\r\n }\r\n\r\n .tfb-service-coverage-card-title {\r\n height: 86px;\r\n }\r\n\r\n .tfb-service-coverage-card-subtitle {\r\n height: 85px;\r\n }\r\n\r\n .tfb-service-coverage-card-text {\r\n height: 100px;\r\n }\r\n\r\n .tfb-service-coverage-card-action {\r\n text-align: center;\r\n /*height: 62px;*/\r\n }\r\n\r\n .tfb-service-coverage-card-action a {\r\n color: $tfb-blue;\r\n font-size: .75em;\r\n }\r\n\r\n .tfb-service-coverage-card-action.v-card__actions {\r\n display: block !important;\r\n }\r\n\r\n .tfb-service-coverage-card-require {\r\n font-size: 0.75rem !important;\r\n }\r\n\r\n @media (min-width: 960px) {\r\n .tfb-service-coverage-card-text {\r\n height: 85px;\r\n }\r\n\r\n .tfb-service-coverage-card {\r\n min-width: inherit;\r\n }\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CoverageCard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CoverageCard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CoverageCard.vue?vue&type=template&id=1f4dc2c7\"\nimport script from \"./CoverageCard.vue?vue&type=script&lang=js\"\nexport * from \"./CoverageCard.vue?vue&type=script&lang=js\"\nimport style0 from \"./CoverageCard.vue?vue&type=style&index=0&id=1f4dc2c7&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.coverage.LongDescription && _vm.coverage.LongDescription !== '' && _vm.coverage.LongDescription !== null)?_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){$event.stopPropagation();_vm.optionalCoverageModal = true}}},[_vm._v(_vm._s(_vm.coverage.Title))]):_c('span',[_vm._v(_vm._s(_vm.coverage.Title))]),_c('v-dialog',{attrs:{\"max-width\":\"600px\"},model:{value:(_vm.optionalCoverageModal),callback:function ($$v) {_vm.optionalCoverageModal=$$v},expression:\"optionalCoverageModal\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"background-darker-blue\"},[_c('h3',{staticClass:\"tfb-title-text-small\"},[_vm._v(_vm._s(_vm.coverage.Title))])]),_c('v-card-text',[_c('v-container',{staticClass:\"tfb-component-container\"},[_c('v-row',[_c('v-col',{staticClass:\"py-5\",attrs:{\"cols\":\"12\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.coverage.LongDescription)}})])],1)],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <v-btn v-if=\"coverage.LongDescription && coverage.LongDescription !== '' && coverage.LongDescription !== null\"\r\n text\r\n @click.stop=\"optionalCoverageModal = true\">{{coverage.Title}}</v-btn>\r\n <span v-else>{{coverage.Title}}</span>\r\n <v-dialog v-model=\"optionalCoverageModal\"\r\n max-width=\"600px\">\r\n <v-card>\r\n <v-card-title class=\"background-darker-blue\">\r\n <h3 class=\"tfb-title-text-small\">{{coverage.Title}}</h3>\r\n </v-card-title>\r\n <v-card-text>\r\n <v-container class=\"tfb-component-container\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-5\">\r\n <span v-html=\"coverage.LongDescription\"></span>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </v-card-text>\r\n </v-card>\r\n </v-dialog>\r\n </div>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'OptionalCoverageItem',\r\n mixins: [tfbHelperMixin],\r\n data() {\r\n return {\r\n optionalCoverageModal: false,\r\n };\r\n },\r\n props: {\r\n coverage: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OptionalCoverageItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OptionalCoverageItem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./OptionalCoverageItem.vue?vue&type=template&id=4e5b8a28\"\nimport script from \"./OptionalCoverageItem.vue?vue&type=script&lang=js\"\nexport * from \"./OptionalCoverageItem.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div class=\"my-12\"\r\n v-if=\"serviceCoverages !== null && serviceCoverages.length > 0\">\r\n <div class=\"text-center\">\r\n <h2 class=\"tfb-title-text font-weight-bold text-darker-blue text-uppercase\">\r\n {{ serviceItem.CoverageHeader }}\r\n </h2>\r\n </div>\r\n <v-container fill-height\r\n v-bind:class=\"[ (serviceCoverages && serviceCoverages[0] && serviceCoverages[0].Coverages && serviceCoverages[0].Coverages.length <= 3) ? 'tfb-container' : 'tfb-larger-container' ]\"\r\n v-for=\"coverageGroup in serviceCoverages\"\r\n v-bind:key=\"coverageGroup.Name\">\r\n <!-- For each group in serviceCoverage, output name if not null or empty, then output coverages -->\r\n <v-row v-if=\"coverageGroup.Name !== null && coverageGroup.Name !== '' && coverageGroup.Name !== 'None'\"\r\n class=\"text-center\">\r\n <v-col>\r\n <h3 class=\"tfb-title-text font-weight-bold text-darker-blue text-uppercase\">\r\n {{coverageGroup.Name}}\r\n </h3>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col v-for=\"coverage in coverageGroup.Coverages\"\r\n v-bind:key=\"coverage.id\">\r\n <coverage-card :coverage=\"coverage\"\r\n :fixed-width=\"coverageGroup.Coverages.length > 5\"></coverage-card>\r\n </v-col>\r\n <v-col v-if=\"serviceOptionalCoverages && serviceOptionalCoverages.length > 0\">\r\n <v-card class=\"service-coverage-card\">\r\n <v-card-text>\r\n <h3 class=\"font-weight-bold text-darker-blue tfb-title-text-smaller text-uppercase\">\r\n Optional Coverages\r\n </h3>\r\n <v-list dense>\r\n <v-list-item v-for=\"(coverage, i) in serviceOptionalCoverages\"\r\n :key=\"i\">\r\n <optional-coverage-item :coverage=\"coverage\"></optional-coverage-item>\r\n </v-list-item>\r\n </v-list>\r\n </v-card-text>\r\n </v-card>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import { sync } from 'vuex-pathify';\r\n import CoverageCard from '@/views/services/coverages/CoverageCard.vue';\r\n import OptionalCoverageItem from '@/views/services/coverages/OptionalCoverageItem.vue';\r\n\r\n export default {\r\n name: 'ServiceCoverages',\r\n props: {\r\n service: {\r\n type: String,\r\n required: true,\r\n },\r\n serviceItem: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n components: {\r\n CoverageCard,\r\n OptionalCoverageItem,\r\n },\r\n data() {\r\n return {\r\n serviceCoverages: null,\r\n serviceOptionalCoverages: null,\r\n };\r\n },\r\n computed: {\r\n imageRootPath() {\r\n return `${process.env.VUE_APP_ROOT_URI}/publishingimages/`;\r\n },\r\n modal: sync('app/modal'),\r\n },\r\n watch: {\r\n $route: 'startDataFetch',\r\n },\r\n methods: {\r\n startDataFetch() {\r\n this.getCoverageData();\r\n this.getOptionalCoverageData();\r\n },\r\n getCoverageData() {\r\n this.$store.dispatch('services/getServiceCoverages', { sServiceType: this.service, sTfbId: this.trackingId })\r\n .then((coverageResponse) => {\r\n this.serviceCoverages = coverageResponse;\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getOptionalCoverageData() {\r\n this.$store.dispatch('services/getServiceOptionalCoverages', { sServiceType: this.service, sTfbId: this.trackingId })\r\n .then((optionalCoverageResponse) => {\r\n this.serviceOptionalCoverages = optionalCoverageResponse;\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n },\r\n created() {\r\n this.startDataFetch();\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceCoverages.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceCoverages.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ServiceCoverages.vue?vue&type=template&id=f7a5adf8\"\nimport script from \"./ServiceCoverages.vue?vue&type=script&lang=js\"\nexport * from \"./ServiceCoverages.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.serviceItem && _vm.serviceItem.DiscountTitle !== null && _vm.serviceItem.DiscountTitle !== '')?_c('div',{staticClass:\"py-2 background-darker-blue\"},[_c('v-container',{staticClass:\"tfb-container align-center my-12\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-medium text-white\"},[_vm._v(\" \"+_vm._s(_vm.serviceItem.DiscountTitle)+\" \")])])],1),_c('v-row',[_c('v-col',{staticClass:\"tfb-title-text text-white mb-8\",attrs:{\"cols\":\"12\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.serviceItem.DiscountHeader)}})])],1),(_vm.serviceDiscounts && _vm.serviceDiscounts !== null && _vm.serviceDiscounts.length > 0)?_c('v-row',_vm._l((_vm.serviceDiscounts),function(discount){return _c('v-col',{key:discount.id},[_c('discount-item',{attrs:{\"discount\":discount}})],1)}),1):_vm._e()],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.discount.LongDescription && _vm.discount.LongDescription !== '' && _vm.discount.LongDescription !== null)?_c('span',[_c('v-chip',{staticClass:\"discount-button\",attrs:{\"pill\":\"\"},on:{\"click\":function($event){$event.stopPropagation();_vm.serviceDiscountModal = true}}},[_c('v-avatar',{staticClass:\"discount-button-icon\",attrs:{\"left\":\"\"}},[(_vm.discount.IconFileName && _vm.discount.IconFileName !== '' && _vm.discount.IconFileName !== null)?_c('img',{attrs:{\"src\":_vm.imageRootPath +'policy-icons/' + _vm.discount.IconFileName,\"id\":\"discount-icon\",\"aria-hidden\":\"true\",\"alt\":_vm.discount.Title}}):_vm._e()]),_vm._v(\" \"+_vm._s(_vm.discount.Title)+\" \")],1)],1):_c('span',[_c('v-chip',{staticClass:\"discount-button\",attrs:{\"pill\":\"\"}},[_c('v-avatar',{staticClass:\"discount-button-icon\",attrs:{\"left\":\"\"}},[_c('img',{attrs:{\"src\":_vm.imageRootPath +'policy-icons/' + _vm.discount.IconFileName,\"id\":\"discount-icon\",\"aria-hidden\":\"true\",\"alt\":_vm.discount.Title}})]),_vm._v(\" \"+_vm._s(_vm.discount.Title)+\" \")],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"600px\"},model:{value:(_vm.serviceDiscountModal),callback:function ($$v) {_vm.serviceDiscountModal=$$v},expression:\"serviceDiscountModal\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"background-darker-blue\"},[_c('h3',{staticClass:\"tfb-title-text-small\"},[_vm._v(_vm._s(_vm.discount.Title))])]),_c('v-card-text',[_c('v-container',{staticClass:\"tfb-component-container\"},[_c('v-row',[_c('v-col',{staticClass:\"py-5\",attrs:{\"cols\":\"12\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.discount.LongDescription)}})])],1)],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <span v-if=\"discount.LongDescription && discount.LongDescription !== '' && discount.LongDescription !== null\">\r\n <v-chip pill\r\n class=\"discount-button\"\r\n @click.stop=\"serviceDiscountModal = true\">\r\n <v-avatar left\r\n class=\"discount-button-icon\">\r\n <img v-bind:src=\"imageRootPath +'policy-icons/' + discount.IconFileName\"\r\n id=\"discount-icon\"\r\n aria-hidden=\"true\"\r\n v-bind:alt=\"discount.Title\"\r\n v-if=\"discount.IconFileName && discount.IconFileName !== '' && discount.IconFileName !== null\"/>\r\n </v-avatar>\r\n {{ discount.Title }}\r\n </v-chip>\r\n </span>\r\n <span v-else>\r\n <v-chip pill\r\n class=\"discount-button\">\r\n <v-avatar left\r\n class=\"discount-button-icon\">\r\n <img v-bind:src=\"imageRootPath +'policy-icons/' + discount.IconFileName\"\r\n id=\"discount-icon\"\r\n aria-hidden=\"true\"\r\n v-bind:alt=\"discount.Title\" />\r\n </v-avatar>\r\n {{ discount.Title }}\r\n </v-chip>\r\n </span>\r\n <v-dialog v-model=\"serviceDiscountModal\"\r\n max-width=\"600px\">\r\n <v-card>\r\n <v-card-title class=\"background-darker-blue\">\r\n <h3 class=\"tfb-title-text-small\">{{discount.Title}}</h3>\r\n </v-card-title>\r\n <v-card-text>\r\n <v-container class=\"tfb-component-container\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-5\">\r\n <span v-html=\"discount.LongDescription\"></span>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </v-card-text>\r\n </v-card>\r\n </v-dialog>\r\n </div>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'DiscountItem',\r\n props: {\r\n discount: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n data() {\r\n return {\r\n serviceDiscountModal: false,\r\n };\r\n },\r\n computed: {\r\n imageRootPath() {\r\n return `${process.env.VUE_APP_ROOT_URI}/publishingimages/`;\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiscountItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiscountItem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiscountItem.vue?vue&type=template&id=5f9080a6\"\nimport script from \"./DiscountItem.vue?vue&type=script&lang=js\"\nexport * from \"./DiscountItem.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div class=\"py-2 background-darker-blue\"\r\n v-if=\"serviceItem && serviceItem.DiscountTitle !== null && serviceItem.DiscountTitle !== ''\">\r\n <v-container class=\"tfb-container align-center my-12\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-medium text-white\">\r\n {{ serviceItem.DiscountTitle }}\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"tfb-title-text text-white mb-8\">\r\n <span v-html=\"serviceItem.DiscountHeader\"></span>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"serviceDiscounts && serviceDiscounts !== null && serviceDiscounts.length > 0\">\r\n <v-col v-for=\"discount in serviceDiscounts\"\r\n v-bind:key=\"discount.id\">\r\n <discount-item :discount=\"discount\"></discount-item>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import DiscountItem from '@/views/services/coverages/DiscountItem.vue';\r\n\r\n export default {\r\n name: 'ServiceDiscounts',\r\n props: {\r\n service: {\r\n type: String,\r\n required: true,\r\n },\r\n serviceItem: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n components: {\r\n DiscountItem,\r\n },\r\n data() {\r\n return {\r\n serviceDiscounts: null,\r\n };\r\n },\r\n watch: {\r\n $route: 'startDataFetch',\r\n },\r\n methods: {\r\n startDataFetch() {\r\n this.getDiscountData();\r\n },\r\n getDiscountData() {\r\n this.$store.dispatch('services/getServiceDiscounts', { sServiceType: this.service, sTfbId: this.trackingId })\r\n .then((discountResponse) => {\r\n this.serviceDiscounts = discountResponse;\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n },\r\n created() {\r\n this.startDataFetch();\r\n },\r\n };\r\n </script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceDiscounts.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceDiscounts.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ServiceDiscounts.vue?vue&type=template&id=07c20cdf\"\nimport script from \"./ServiceDiscounts.vue?vue&type=script&lang=js\"\nexport * from \"./ServiceDiscounts.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"background-white pa-5\"},[_c('v-container',{staticClass:\"tfb-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-bold text-blue text-center\"},[_vm._v(\" Get the Drive'n Save App Today and Start Saving! \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"order\":\"last\",\"order-sm\":\"first\"}},[_c('img',{attrs:{\"alt\":\"Drive'n Save\",\"id\":\"drive-n-save-header-image\",\"src\":_vm.driveNSaveHeader}})]),_c('v-col',{staticClass:\"pl-sm-6\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"order\":\"first\",\"order-sm\":\"last\"}},[_c('p',{staticClass:\"text-body-1\"},[_vm._v(\" An initial discount is available for participants who enroll in the program. Additional discounts are available based on the driving score or participants. Driving score is calculated on factors including: \")]),_c('ul',{staticClass:\"text-body-1\"},[_c('li',[_vm._v(\"Low mileage\")]),_c('li',[_vm._v(\"Time of day\")]),_c('li',[_vm._v(\"Speed\")]),_c('li',[_vm._v(\"Sudden breaking\")]),_c('li',[_vm._v(\"Distracted driving (cell phone use)\")])])])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"background-white pa-5\">\r\n <v-container fluid\r\n class=\"tfb-container\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-bold text-blue text-center\">\r\n Get the Drive'n Save App Today and Start Saving!\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n order=\"last\"\r\n order-sm=\"first\">\r\n <img alt=\"Drive'n Save\"\r\n id=\"drive-n-save-header-image\"\r\n v-bind:src=\"driveNSaveHeader\" />\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n order=\"first\"\r\n order-sm=\"last\"\r\n class=\"pl-sm-6\">\r\n <p class=\"text-body-1\">\r\n An initial discount is available for participants who enroll in the program.\r\n Additional discounts are available based on the driving score or participants.\r\n Driving score is calculated on factors including:\r\n </p>\r\n <ul class=\"text-body-1\">\r\n <li>Low mileage</li>\r\n <li>Time of day</li>\r\n <li>Speed</li>\r\n <li>Sudden breaking</li>\r\n <li>Distracted driving (cell phone use)</li>\r\n </ul>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n export default {\r\n name: 'DriveNSaveSection',\r\n computed: {\r\n driveNSaveHeader() {\r\n return `${process.env.VUE_APP_ROOT_URI}/publishingimages/drive-n-save-header.jpg`;\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DriveNSaveSection.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DriveNSaveSection.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DriveNSaveSection.vue?vue&type=template&id=39b51606\"\nimport script from \"./DriveNSaveSection.vue?vue&type=script&lang=js\"\nexport * from \"./DriveNSaveSection.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"align-center\",attrs:{\"fluid\":\"\",\"id\":\"blog-cards\"}},[(_vm.blogLoading || (!_vm.blogLoading && _vm.blogPosts.length > 0))?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{class:[ _vm.subHeader === '' ? 'text-white' : 'text-darker-blue', _vm.subHeader === '' ? 'text-uppercase' : '', 'tfb-title-text-medium' ]},[_vm._v(\" \"+_vm._s(_vm.header)+\" \")])])],1):_vm._e(),(_vm.subHeader !== '' && (_vm.blogLoading || (!_vm.blogLoading && _vm.blogPosts.length > 0)))?_c('v-row',[_c('v-col',{staticClass:\"tfb-title-text text-darker-blue mb-8\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.subHeader)+\" \")])],1):_vm._e(),(!_vm.blogLoading && _vm.blogPosts.length > 0)?_c('v-row',_vm._l((_vm.blogPosts),function(post){return _c('v-col',{key:post.id,attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-card',{staticClass:\"fill-height\"},[_c('v-img',{staticClass:\"img-box\",attrs:{\"height\":\"200px\",\"src\":post.headerImage}}),_c('v-card-text',{staticClass:\"tfb-blog-card-text\"},[_c('span',{staticClass:\"title-post\"},[_vm._v(_vm._s(post.seotitle))])]),_c('v-card-actions',{staticClass:\"tfb-card-footer text-center\"},[_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function({ hover }){return _c('v-btn',{class:`${hover? 'tfb-service-button-hover': ''} tfb-service-button mx-auto`,attrs:{\"outlined\":\"\",\"to\":{ name: 'blogPost', params: { category: _vm.kebabify(post.urlCategory), title: _vm.kebabify(post.url) } },\"hreflang\":\"en-us\"}},[_vm._v(\"Read Article\")])}}],null,true)})],1)],1)],1)}),1):_vm._e(),(_vm.blogLoading)?_c('v-row',_vm._l((4),function(i){return _c('v-col',{key:i,attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"300\",\"type\":\"card\"}})],1)}),1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"align-center\"\r\n id=\"blog-cards\">\r\n <v-row v-if=\"blogLoading || (!blogLoading && blogPosts.length > 0)\">\r\n <v-col cols=\"12\">\r\n <h2 v-bind:class=\"[ subHeader === '' ? 'text-white' : 'text-darker-blue', subHeader === '' ? 'text-uppercase' : '', 'tfb-title-text-medium' ]\">\r\n {{ header }}\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"subHeader !== '' && (blogLoading || (!blogLoading && blogPosts.length > 0))\">\r\n <v-col cols=\"12\"\r\n class=\"tfb-title-text text-darker-blue mb-8\">\r\n {{ subHeader }}\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"!blogLoading && blogPosts.length > 0\">\r\n <v-col cols=\"12\"\r\n md=\"3\"\r\n v-for=\"post in blogPosts\"\r\n v-bind:key=\"post.id\">\r\n <v-card class=\"fill-height\">\r\n <v-img height=\"200px\"\r\n :src=\"post.headerImage\"\r\n class=\"img-box\">\r\n </v-img>\r\n <v-card-text class=\"tfb-blog-card-text\">\r\n <span class=\"title-post\">{{ post.seotitle }}</span>\r\n </v-card-text>\r\n <v-card-actions class=\"tfb-card-footer text-center\">\r\n <v-hover>\r\n <v-btn slot-scope=\"{ hover }\"\r\n outlined\r\n :to=\"{ name: 'blogPost', params: { category: kebabify(post.urlCategory), title: kebabify(post.url) } }\"\r\n hreflang=\"en-us\"\r\n :class=\"`${hover? 'tfb-service-button-hover': ''} tfb-service-button mx-auto`\">Read Article</v-btn>\r\n </v-hover>\r\n </v-card-actions>\r\n </v-card>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"blogLoading\">\r\n <v-col cols=\"12\"\r\n md=\"3\"\r\n v-for=\"i in 4\"\r\n :key=\"i\">\r\n <v-skeleton-loader class=\"mx-auto\"\r\n max-width=\"300\"\r\n type=\"card\"></v-skeleton-loader>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import { Array } from 'core-js';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'BlogCards',\r\n mixins: [tfbHelperMixin],\r\n props: {\r\n header: {\r\n type: String,\r\n required: true,\r\n },\r\n subHeader: {\r\n type: String,\r\n required: true,\r\n },\r\n keywords: {\r\n type: Array,\r\n required: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n blogLoading: true,\r\n blogPosts: [],\r\n };\r\n },\r\n methods: {\r\n loadBlogPosts() {\r\n this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'Blog', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus === '') {\r\n this.blogLoading = true;\r\n this.blogPosts = [];\r\n this.fetchKeywordPosts()\r\n .then((foundPosts) => {\r\n this.blogPosts = foundPosts;\r\n if (this.blogPosts.length < 4) {\r\n this.fetchAdditionalPosts();\r\n }\r\n this.blogLoading = false;\r\n });\r\n } else {\r\n this.blogLoading = false;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error);\r\n this.blogLoading = false;\r\n });\r\n },\r\n fetchKeywordPosts() {\r\n return new Promise((resolve) => {\r\n this.$store.dispatch('blog/getPostsByTags', {\r\n sKeywords: this.keywords, sTop: 4, sTfbId: this.trackingId,\r\n })\r\n .then((foundPosts) => {\r\n resolve(foundPosts);\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n resolve([]);\r\n });\r\n });\r\n },\r\n fetchAdditionalPosts() {\r\n return new Promise((resolve) => {\r\n if (this.blogPosts.length < 4) {\r\n this.$store.dispatch('blog/getPostsByTag', {\r\n sKeyword: 'insurance', sTop: 4, sTfbId: this.trackingId,\r\n })\r\n .then((foundPosts) => {\r\n for (let f = 0; f < foundPosts.length; f += 1) {\r\n if (this.blogPosts.length < 4) {\r\n this.blogPosts.push(foundPosts[f]);\r\n }\r\n }\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n }\r\n resolve();\r\n });\r\n },\r\n },\r\n watch: {\r\n $route: 'loadBlogPosts',\r\n },\r\n created() {\r\n this.loadBlogPosts();\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n #blog-cards {\r\n background-color: transparent !important;\r\n }\r\n\r\n .blog-cards-title {\r\n max-height: 78px;\r\n }\r\n\r\n .tfb-blog-card-text.v-card__text {\r\n height: 123px;\r\n overflow: hidden;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogCards.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogCards.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BlogCards.vue?vue&type=template&id=7be0490f\"\nimport script from \"./BlogCards.vue?vue&type=script&lang=js\"\nexport * from \"./BlogCards.vue?vue&type=script&lang=js\"\nimport style0 from \"./BlogCards.vue?vue&type=style&index=0&id=7be0490f&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"tfb-video-wrapper background-darker-gray\"},[_c('v-row',{staticStyle:{\"height\":\"100%\"},attrs:{\"no-gutters\":\"\"}},_vm._l((_vm.videoArray),function(video){return _c('v-col',{key:video.id,class:_vm.videoClass,attrs:{\"cols\":\"12\",\"md\":_vm.videoBreakPoint}},[_c('div',{style:(_vm.getVideoBackgroundImage(video.Thumbnail))},[_c('div',{staticClass:\"tfb-video align-center px-5 py-10\"},[_c('div',{staticClass:\"tfb-video-header\"},[_c('img',{attrs:{\"alt\":\"Real Stories\",\"id\":\"video-header-image\",\"src\":_vm.imageRootPath + '/real-stories-header.png'}})]),_c('div',{staticClass:\"tfb-video-title\"},[_c('p',{staticClass:\"tfb-title-text-medium\"},[_vm._v(\" \"+_vm._s(video.Title)+\" \")])]),_c('div',{staticClass:\"tfb-video-subtitle\"},[_c('p',{staticClass:\"tfb-title-text\"},[_vm._v(\" \"+_vm._s(video.SubTitle)+\" \")]),_c('br')]),_c('div',{staticClass:\"tfb-video-button\"},[_c('v-btn',{staticClass:\"tfb-button background-red\",on:{\"click\":function($event){return _vm.getVideo(video.Id)}}},[_vm._v(\" Watch Video \")])],1)])])])}),1),_c('v-dialog',{attrs:{\"max-width\":\"800\",\"id\":\"embedVideoDialog\"},model:{value:(_vm.showEmbedded),callback:function ($$v) {_vm.showEmbedded=$$v},expression:\"showEmbedded\"}},[_c('v-card',{staticClass:\"align-center tfb-video-dialog\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.videoText)}})])],1),_c('v-dialog',{attrs:{\"max-width\":\"800\",\"id\":\"localVideoDialog\"},model:{value:(_vm.showLocal),callback:function ($$v) {_vm.showLocal=$$v},expression:\"showLocal\"}},[_c('v-card',{staticClass:\"align-center tfb-video-dialog\"},[_c('video',{attrs:{\"src\":_vm.videoText,\"controls\":\"\"}},[_vm._v(\" Sorry, your browser does not support embedded videos. \")])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"tfb-video-wrapper background-darker-gray\">\r\n <v-row no-gutters\r\n style=\"height: 100%;\">\r\n <v-col cols=\"12\"\r\n :md=\"videoBreakPoint\"\r\n v-for=\"video in videoArray\"\r\n v-bind:key=\"video.id\"\r\n v-bind:class=\"videoClass\">\r\n <div :style=\"getVideoBackgroundImage(video.Thumbnail)\">\r\n <div class=\"tfb-video align-center px-5 py-10\">\r\n <div class=\"tfb-video-header\">\r\n <img alt=\"Real Stories\"\r\n id=\"video-header-image\"\r\n v-bind:src=\"imageRootPath + '/real-stories-header.png'\" />\r\n </div>\r\n <div class=\"tfb-video-title\">\r\n <p class=\"tfb-title-text-medium\">\r\n {{video.Title}}\r\n </p>\r\n </div>\r\n <div class=\"tfb-video-subtitle\">\r\n <p class=\"tfb-title-text\">\r\n {{video.SubTitle}}\r\n </p><br />\r\n </div>\r\n <div class=\"tfb-video-button\">\r\n <v-btn @click=\"getVideo(video.Id)\"\r\n class=\"tfb-button background-red\">\r\n Watch Video\r\n </v-btn>\r\n </div>\r\n </div>\r\n </div>\r\n </v-col>\r\n </v-row>\r\n <v-dialog v-model=\"showEmbedded\"\r\n max-width=\"800\"\r\n id=\"embedVideoDialog\">\r\n <v-card class=\"align-center tfb-video-dialog\">\r\n <span v-html=\"videoText\"></span>\r\n </v-card>\r\n </v-dialog>\r\n <v-dialog v-model=\"showLocal\"\r\n max-width=\"800\"\r\n id=\"localVideoDialog\">\r\n <v-card class=\"align-center tfb-video-dialog\">\r\n <video v-bind:src=\"videoText\"\r\n controls>\r\n Sorry, your browser does not support embedded videos.\r\n </video>\r\n </v-card>\r\n </v-dialog>\r\n </div>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'Video',\r\n mixins: [tfbHelperMixin],\r\n props: {\r\n videoArray: {\r\n type: Array,\r\n required: true,\r\n function() {\r\n return [{\r\n Id: '', Order: '', SubTitle: '', Title: '', Thumbnail: '',\r\n }];\r\n },\r\n },\r\n },\r\n data() {\r\n return {\r\n showEmbedded: false,\r\n showLocal: false,\r\n videoText: null,\r\n };\r\n },\r\n computed: {\r\n videoBreakPoint() {\r\n return 12 / this.videoArray.length;\r\n },\r\n videoClass() {\r\n return {\r\n 'video-separator': this.videoArray.length > 1,\r\n };\r\n },\r\n },\r\n methods: {\r\n getVideo(videoId) {\r\n this.$store.dispatch('app/getVideoById', { sId: videoId, sTfbId: this.trackingId })\r\n .then((response) => {\r\n if (response) {\r\n if (response.Embed) {\r\n this.videoText = response.Embed;\r\n this.showEmbedded = true;\r\n } else if (response.Url) {\r\n this.videoText = response.Url;\r\n this.showLocal = true;\r\n }\r\n }\r\n })\r\n .catch(() => {\r\n // Don't do anything\r\n });\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .tfb-video-wrapper {\r\n padding: 10px;\r\n overflow: hidden;\r\n height: 100%;\r\n }\r\n .tfb-video {\r\n max-width: 600px;\r\n vertical-align: middle;\r\n min-height: 330px;\r\n }\r\n .tfb-video-header {\r\n height: 25px;\r\n }\r\n .tfb-video-title {\r\n height: 135px;\r\n }\r\n .tfb-video-subtitle {\r\n height: 85px;\r\n }\r\n .tfb-video-button {\r\n height: 36px;\r\n }\r\n\r\n .tfb-video-dialog {\r\n padding: 20px;\r\n }\r\n\r\n div .video-separator:not(:first-child) {\r\n padding-top: 5px !important;\r\n }\r\n @media (min-width: 960px) {\r\n div .video-separator:not(:first-child) {\r\n padding-top: 0px !important;\r\n padding-left: 9px !important;\r\n }\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Video.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Video.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Video.vue?vue&type=template&id=c6a4505a\"\nimport script from \"./Video.vue?vue&type=script&lang=js\"\nexport * from \"./Video.vue?vue&type=script&lang=js\"\nimport style0 from \"./Video.vue?vue&type=style&index=0&id=c6a4505a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"tfb-fixed-wrapper tfb-faq-wrapper\",attrs:{\"itemscope\":\"\",\"itemtype\":\"https://schema.org/FAQPage\"}},[_c('p',{staticClass:\"tfb-title-text-smaller font-weight-bold text-uppercase text-blue tfb-faq-title\"},[_vm._v(\" \"+_vm._s(_vm.sectionTitle)+\" \")]),(_vm.faqs === null || _vm.faqs.length <= 0)?_c('div',{staticClass:\"tfb-faq-title\"},[_vm._v(\" Have a question? \"),_c('router-link',{attrs:{\"to\":{ name: 'contact'}}},[_vm._v(\" Contact us! \")])],1):_vm._e(),(_vm.faqs !== null && _vm.faqs.length > 0)?_c('div',[_c('v-expansion-panels',{attrs:{\"accordion\":\"\",\"flat\":\"\",\"active-class\":\"tfb-faq-active\"}},_vm._l((_vm.faqs),function(question){return _c('v-expansion-panel',{key:question.ID,attrs:{\"itemscope\":\"\",\"itemprop\":\"mainEntity\",\"itemtype\":\"https://schema.org/Question\"}},[_c('v-expansion-panel-header',{attrs:{\"itemprop\":\"name\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ open }){return [_c('span',{class:[ open ? 'font-weight-bold' : '' ]},[_vm._v(_vm._s(question.Title))])]}},{key:\"actions\",fn:function(){return [_c('v-icon',[_vm._v(\"$expand\")])]},proxy:true}],null,true)}),_c('v-expansion-panel-content',{staticClass:\"tfb-faq-answer-wrapper\",attrs:{\"itemscope\":\"\",\"itemprop\":\"acceptedAnswer\",\"itemtype\":\"https://schema.org/Answer\"}},[_c('span',{staticClass:\"tfb-faq-answer-text\",attrs:{\"itemprop\":\"text\"},domProps:{\"innerHTML\":_vm._s(question.FAQAnswer.replace(/(http:\\/\\/tfbtel\\.)/igm, 'tel:').replace(/(http:\\/\\/tfbtel\\.)/igm, 'tel:'))}})])],1)}),1)],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"tfb-fixed-wrapper tfb-faq-wrapper\"\r\n itemscope\r\n itemtype=\"https://schema.org/FAQPage\">\r\n <p class=\"tfb-title-text-smaller font-weight-bold text-uppercase text-blue tfb-faq-title\">\r\n {{sectionTitle}}\r\n </p>\r\n <div v-if=\"faqs === null || faqs.length <= 0\"\r\n class=\"tfb-faq-title\">\r\n Have a question?\r\n <router-link :to=\"{ name: 'contact'}\">\r\n Contact us!\r\n </router-link>\r\n </div>\r\n <div v-if=\"faqs !== null && faqs.length > 0\">\r\n <v-expansion-panels accordion\r\n flat\r\n active-class=\"tfb-faq-active\">\r\n <v-expansion-panel v-for=\"question in faqs\"\r\n v-bind:key=\"question.ID\"\r\n itemscope\r\n itemprop=\"mainEntity\"\r\n itemtype=\"https://schema.org/Question\">\r\n <v-expansion-panel-header itemprop=\"name\">\r\n <template v-slot:default=\"{ open }\">\r\n <span v-bind:class=\"[ open ? 'font-weight-bold' : '' ]\">{{question.Title}}</span>\r\n </template>\r\n <template v-slot:actions>\r\n <v-icon>$expand</v-icon>\r\n </template>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content itemscope\r\n itemprop=\"acceptedAnswer\"\r\n itemtype=\"https://schema.org/Answer\"\r\n class=\"tfb-faq-answer-wrapper\">\r\n <span v-html=\"question.FAQAnswer.replace(/(http:\\/\\/tfbtel\\.)/igm, 'tel:').replace(/(http:\\/\\/tfbtel\\.)/igm, 'tel:')\"\r\n itemprop=\"text\"\r\n class=\"tfb-faq-answer-text\"></span>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n </v-expansion-panels>\r\n</div>\r\n </div>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'Faqs',\r\n mixins: [tfbHelperMixin],\r\n props: {\r\n faqKeyword: {\r\n type: String,\r\n required: true,\r\n },\r\n faqTitle: {\r\n type: String,\r\n required: false,\r\n },\r\n },\r\n data() {\r\n return {\r\n faqs: null,\r\n };\r\n },\r\n computed: {\r\n sectionTitle() {\r\n return this.faqTitle && this.faqTitle !== null && this.faqTitle !== '' ? this.faqTitle : 'Frequently Asked Questions';\r\n },\r\n },\r\n mounted() {\r\n this.fetchFaqs();\r\n },\r\n watch: {\r\n faqKeyword: 'fetchFaqs',\r\n },\r\n methods: {\r\n fetchFaqs() {\r\n this.faqs = null;\r\n this.$store.dispatch('app/getFaqsByKeyword', { sKeyword: this.faqKeyword, sTfbId: this.trackingId })\r\n .then((response) => {\r\n this.faqs = response;\r\n })\r\n .catch(() => {\r\n // Don't do anything\r\n });\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfb-faq-wrapper {\r\n overflow-y: scroll;\r\n scrollbar-color: $tfb-darkest-blue $tfb-off-white;\r\n scrollbar-width: thin;\r\n }\r\n\r\n .tfb-faq-wrapper::-webkit-scrollbar-track {\r\n -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\r\n background-color: $tfb-off-white;\r\n }\r\n\r\n .tfb-faq-wrapper::-webkit-scrollbar {\r\n width: 6px;\r\n background-color: $tfb-off-white;\r\n }\r\n\r\n .tfb-faq-wrapper::-webkit-scrollbar-thumb {\r\n background-color: $tfb-darkest-blue;\r\n }\r\n\r\n .tfb-faq-title {\r\n padding-left: 24px;\r\n }\r\n .tfb-faq-active{\r\n border: solid 1px $black;\r\n }\r\n .tfb-faq-answer-wrapper {\r\n padding-top: 20px;\r\n background-color: $tfb-off-white;\r\n }\r\n\r\n .tfb-faq-answer-text {\r\n font-family: $body-font-family;\r\n font-weight: 400;\r\n font-style: normal;\r\n font-size: 14px;\r\n }\r\n\r\n @media (min-width: 1200px) {\r\n .tfb-faq-wrapper {\r\n padding-left: 50px;\r\n }\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FAQs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FAQs.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FAQs.vue?vue&type=template&id=b99c5f60\"\nimport script from \"./FAQs.vue?vue&type=script&lang=js\"\nexport * from \"./FAQs.vue?vue&type=script&lang=js\"\nimport style0 from \"./FAQs.vue?vue&type=style&index=0&id=b99c5f60&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div id=\"tfb-service\">\r\n <div v-if=\"serviceItem !== null\"\r\n id=\"tfb-service-header\">\r\n <div class=\"tfb-header-photo\"\r\n :style=\"getHeaderBackgroundImage(imageRootPath + serviceItem.HeaderFileName)\" />\r\n <v-container fluid\r\n class=\"tfb-container\">\r\n <v-row class=\"tfb-service-quote-display\">\r\n <v-col cols=\"12\"\r\n md=\"5\"\r\n class=\"ml-auto tfb-header-overlay\">\r\n <v-card flat\r\n tile\r\n class=\"py-2\">\r\n <v-card-text class=\"align-center\">\r\n <h2 class=\"tfb-title-text-medium text-uppercase text-center\">\r\n {{ serviceItem.Title }} Quote\r\n </h2>\r\n {{ serviceItem.TagLine }}\r\n <br /><br />\r\n <v-btn :to=\"{ name: 'quoteEntry', params: { type: serviceItem.ServiceType }}\"\r\n hreflang=\"en-us\"\r\n v-if=\"serviceItem.AllowQuotes\"\r\n class=\"tfb-quote-button-min background-red\">Let's Begin</v-btn>\r\n <v-btn :to=\"{ name: 'countyLookup' }\"\r\n hreflang=\"en-us\"\r\n v-if=\"!serviceItem.AllowQuotes\"\r\n class=\"tfb-quote-button-min background-red\">Find a Local Agent</v-btn>\r\n </v-card-text>\r\n <v-card-actions v-if=\"serviceItem.AllowQuotes\"\r\n class=\"tfb-card-footer\">\r\n <router-link :to=\"{ name: 'quoteEntry', params: { type: serviceItem.ServiceType }}\"\r\n hreflang=\"en-us\">\r\n Retrieve Saved Quote\r\n </router-link> |\r\n <router-link :to=\"{ name: 'countyLookup'}\"\r\n hreflang=\"en-us\">Find an Agent</router-link>\r\n </v-card-actions>\r\n </v-card>\r\n </v-col>\r\n </v-row>\r\n <v-row class=\"pb-5\">\r\n <v-col cols=\"12\"\r\n class=\"text-center\">\r\n <h1 class=\"tfb-title-text-large tfb-darkest-blue--text\">\r\n {{ serviceItem.Title }} Insurance\r\n </h1>\r\n <h2 class=\"tfb-title-text\">\r\n {{ serviceItem.HeaderText }}\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n <v-container v-if=\"serviceItem !== null && serviceItem.ServiceCopy !== null && serviceItem.ServiceCopy !== ''\"\r\n class=\"tfb-container mt-12\">\r\n <span v-html=\"serviceItem.ServiceCopy\"></span>\r\n </v-container>\r\n <service-coverages :service=\"serviceType\"\r\n :service-item=\"serviceItem\"></service-coverages>\r\n <jd-power-banner v-if=\"serviceType === 'auto'\"\r\n banner-type=\"text\"></jd-power-banner>\r\n <star-divider></star-divider>\r\n <blog v-if=\"serviceItem\"\r\n :header=\"serviceItem.GuideTitle\"\r\n :sub-header=\"serviceItem.GuideHeader\"\r\n :keywords=\"blogKeywords\"></blog>\r\n <service-discounts :service=\"serviceType\"\r\n :service-item=\"serviceItem\"></service-discounts>\r\n <drive-n-save-section v-if=\"serviceType === 'auto'\"></drive-n-save-section>\r\n <v-container fluid\r\n class=\"pa-0\">\r\n <v-row no-gutters>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n id=\"tfb-service-faqs\">\r\n <faqs :faq-keyword=\"serviceType\"></faqs>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\">\r\n <videos :video-array=\"serviceVideos\"></videos>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import JdPowerBanner from '@/views/layout/components/JDPowerBanner.vue';\r\n import StarDivider from '@/views/layout/components/StarDivider.vue';\r\n import ServiceCoverages from '@/views/services/coverages/ServiceCoverages.vue';\r\n import ServiceDiscounts from '@/views/services/coverages/ServiceDiscounts.vue';\r\n import DriveNSaveSection from '@/views/services/components/DriveNSaveSection.vue';\r\n import Blog from '@/views/blog/components/BlogCards.vue';\r\n import Videos from '@/views/content/components/Video.vue';\r\n import Faqs from '@/views/content/components/FAQs.vue';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'ServiceInformation',\r\n mixins: [tfbDataMixin, tfbMetaMixin, tfbHelperMixin],\r\n data() {\r\n return {\r\n serviceItem: null,\r\n serviceVideos: [],\r\n blogKeywords: [],\r\n };\r\n },\r\n components: {\r\n ServiceCoverages,\r\n ServiceDiscounts,\r\n DriveNSaveSection,\r\n JdPowerBanner,\r\n StarDivider,\r\n Videos,\r\n Blog,\r\n Faqs,\r\n },\r\n computed: {\r\n headerImage() {\r\n return this.serviceItem ? `${this.imageRootPath}${this.serviceItem.HeaderFileName}` : null;\r\n },\r\n metaDescription() {\r\n return this.serviceItem ? this.serviceItem.SeoDescription : null;\r\n },\r\n metaKeywords() {\r\n return this.serviceItem ? this.serviceItem.SeoKeywords : null;\r\n },\r\n metaPageTitle() {\r\n return this.serviceItem ? `${this.serviceItem.Title} Insurance` : this.siteName;\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/insurance/${this.$route.params.type}`;\r\n },\r\n serviceType() {\r\n if (this.$route.params.type === 'undefined') {\r\n return 'auto';\r\n }\r\n return this.$route.params.type;\r\n },\r\n },\r\n created() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.startDataFetch();\r\n },\r\n watch: {\r\n $route: 'startDataFetch',\r\n },\r\n methods: {\r\n startDataFetch() {\r\n this.serviceItem = null;\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.getServiceData();\r\n this.getServiceVideos();\r\n },\r\n getServiceData() {\r\n this.$store.dispatch('services/getServiceInformation', { sServiceType: this.serviceType, sTfbId: this.trackingId })\r\n .then((response) => {\r\n this.serviceItem = response;\r\n this.blogKeywords = [];\r\n\r\n if (this.serviceItem.TaxKeyword && this.serviceItem.TaxKeyword.results && this.serviceItem.TaxKeyword.results.length > 0) {\r\n for (let t = 0; t < this.serviceItem.TaxKeyword.results.length; t += 1) {\r\n this.blogKeywords.push(this.serviceItem.TaxKeyword.results[t].Label);\r\n }\r\n }\r\n this.$meta().refresh();\r\n this.$store.dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getServiceVideos() {\r\n this.$store.dispatch('app/getVideosByPage', { sPage: this.serviceType, sTfbId: this.trackingId })\r\n .then((response) => {\r\n this.serviceVideos = response;\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n #tfb-service {\r\n background-color: $tfb-lightest-gray !important;\r\n }\r\n\r\n #tfb-service-header,\r\n #tfb-service-faqs {\r\n background-color: $white !important;\r\n }\r\n\r\n @media (min-width: 960px) {\r\n .tfb-service-quote-display {\r\n min-height: 650px;\r\n }\r\n }\r\n\r\n .discount-button {\r\n font-family: 'BS-light', $body-font-family !important;\r\n font-weight: 200 !important;\r\n font-style: normal;\r\n color: $tfb-darker-blue !important;\r\n font-size: 1.25rem !important;\r\n background-color: $white !important;\r\n width: 220px !important;\r\n text-align: left;\r\n border-color: $tfb-darker-blue !important;\r\n }\r\n\r\n .discount-button:hover {\r\n background-color: $tfb-blue;\r\n color: $white;\r\n border-color: $tfb-darker-blue;\r\n }\r\n\r\n .discount-button-icon {\r\n background-color: $tfb-blue !important;\r\n border: 4px solid $tfb-darker-blue !important;\r\n }\r\n\r\n .discount-button-icon-bak {\r\n background-color: $tfb-blue !important;\r\n border-radius: 50% !important;\r\n padding: 10px !important;\r\n border: 4px solid $tfb-darker-blue !important;\r\n margin-right: 5px !important;\r\n margin-left: -1px !important;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceInformation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceInformation.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ServiceInformation.vue?vue&type=template&id=25471ad7\"\nimport script from \"./ServiceInformation.vue?vue&type=script&lang=js\"\nexport * from \"./ServiceInformation.vue?vue&type=script&lang=js\"\nimport style0 from \"./ServiceInformation.vue?vue&type=style&index=0&id=25471ad7&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"main\"}},[_c('div',{staticClass:\"carousel-holder\"},[(_vm.featuredPosts.length > 0)?_c('v-carousel',{attrs:{\"cycle\":\"\",\"hide-delimiters\":\"\",\"show-arrows-on-hover\":\"\"}},_vm._l((_vm.featuredPosts),function(featuredPost,i){return _c('v-carousel-item',{key:i,attrs:{\"src\":featuredPost.headerImage}},[_c('div',{staticClass:\"bottom-holder\"},[_c('div',{staticClass:\"blog-container\"},[_c('router-link',{attrs:{\"to\":{ name: 'blogPost', params: { category: _vm.kebabify(featuredPost.urlCategory), title: _vm.kebabify(featuredPost.url) } },\"hreflang\":\"en-us\"}},[_c('span',{staticClass:\"bottom-title\"},[_vm._v(_vm._s(featuredPost.title))])])],1)])])}),1):_vm._e()],1),_c('v-container',{staticClass:\"tfb-container event-holder\",attrs:{\"fluid\":\"\"}},[(!_vm.blogLoading && _vm.postRows.length > 0)?_c('div',_vm._l((_vm.postRows),function(postRow){return _c('div',{key:postRow.id},[(postRow.rowType === 1)?_c('v-row',{staticClass:\"row-event\"},_vm._l((postRow.posts),function(post){return _c('v-col',{key:post.id,staticClass:\"box\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('div',{staticClass:\"holder\"},[_c('router-link',{staticClass:\"link-stretched\",attrs:{\"to\":{ name: 'blogPost', params: { category: _vm.kebabify(post.urlCategory), title: _vm.kebabify(post.url) } },\"hreflang\":\"en-us\"}}),_c('v-card',{attrs:{\"height\":\"100%\"}},[_c('v-img',{staticClass:\"img-box\",attrs:{\"height\":\"200px\",\"src\":post.headerImage}}),_c('v-card-subtitle',{staticClass:\"pb-0\"},[(!post.subcategory || post.subcategory === null || post.subcategory === '')?_c('router-link',{staticClass:\"category-link\",attrs:{\"to\":{ name: 'blogFeedCategory', params: { category: _vm.kebabify(post.category) } },\"hreflang\":\"en-us\"}},[_vm._v(\" \"+_vm._s(post.category)+\" \")]):_c('router-link',{staticClass:\"category-link\",attrs:{\"to\":{ name: 'blogFeedSubCategory',\n params: { category: _vm.kebabify(post.category), subcategory: _vm.kebabify(post.subcategory) } },\"hreflang\":\"en-us\"}},[_vm._v(\" \"+_vm._s(post.subcategory)+\" \")])],1),_c('v-card-text',{staticClass:\"content-block\"},[_c('h2',{staticClass:\"title-post\"},[_vm._v(_vm._s(post.title))]),_c('p',[_vm._v(\" \"+_vm._s(post.blurb)+\" \")])])],1),_c('script',{attrs:{\"type\":\"application/ld+json\"},domProps:{\"innerHTML\":_vm._s(post.jsonld)}})],1)])}),1):_vm._e(),(postRow.rowType === 2 || postRow.rowType === 3)?_c('v-row',{staticClass:\"row-event\"},[_c('v-col',{staticClass:\"box category-list-holder\",attrs:{\"cols\":\"12\",\"md\":\"4\",\"order\":postRow.rowType === 2 ? 1 : 2}},[_c('div',{staticClass:\"holder\"},[_c('ul',{staticClass:\"category-list\"},_vm._l((postRow.posts.postArray),function(post){return _c('li',{key:post.id},[_c('router-link',{staticClass:\"link-stretched\",attrs:{\"to\":{ name: 'blogPost',\n params: { category: _vm.kebabify(post.urlCategory),\n title: _vm.kebabify(post.url) } },\"hreflang\":\"en-us\"}}),_c('v-img',{staticClass:\"img-post\",attrs:{\"src\":post.headerImage}}),_c('div',{staticClass:\"title-container\"},[(!post.subcategory || post.subcategory === null || post.subcategory === '')?_c('router-link',{staticClass:\"category-link\",attrs:{\"to\":{ name: 'blogFeedCategory', params: { category: _vm.kebabify(post.category) } },\"hreflang\":\"en-us\"}},[_vm._v(\" \"+_vm._s(post.category)+\" \")]):_c('router-link',{staticClass:\"category-link\",attrs:{\"to\":{ name: 'blogFeedSubCategory',\n params: { category: _vm.kebabify(post.category), subcategory: _vm.kebabify(post.subcategory) } },\"hreflang\":\"en-us\"}},[_vm._v(\" \"+_vm._s(post.subcategory)+\" \")]),_c('strong',{staticClass:\"title-post\",staticStyle:{\"overflow-wrap\":\"break-word\"}},[_vm._v(_vm._s(post.title))])],1),_c('script',{attrs:{\"type\":\"application/ld+json\"},domProps:{\"innerHTML\":_vm._s(post.jsonld)}})],1)}),0)])]),_c('v-col',{staticClass:\"box big-box\",attrs:{\"cols\":\"12\",\"md\":\"8\",\"order\":postRow.rowType === 2 ? 2 : 1}},[(postRow.posts && postRow.posts.singlePost)?_c('div',{staticClass:\"holder\"},[_c('router-link',{staticClass:\"link-stretched\",attrs:{\"to\":{ name: 'blogPost',\n params: { category: _vm.kebabify(postRow.posts.singlePost.urlCategory),\n title: _vm.kebabify(postRow.posts.singlePost.url) } },\"hreflang\":\"en-us\"}}),_c('v-card',{attrs:{\"height\":\"100%\"}},[_c('v-img',{staticClass:\"img-box\",attrs:{\"height\":\"200px\",\"src\":postRow.posts.singlePost.headerImage}}),_c('v-card-subtitle',{staticClass:\"pb-0\"},[(!postRow.posts.singlePost.subcategory || postRow.posts.singlePost.subcategory === null || postRow.posts.singlePost.subcategory === '')?_c('router-link',{staticClass:\"category-link\",attrs:{\"to\":{ name: 'blogFeedCategory', params: { category: _vm.kebabify(postRow.posts.singlePost.category) } },\"hreflang\":\"en-us\"}},[_vm._v(\" \"+_vm._s(postRow.posts.singlePost.category)+\" \")]):_c('router-link',{staticClass:\"category-link\",attrs:{\"to\":{ name: 'blogFeedSubCategory',\n params: { category: _vm.kebabify(postRow.posts.singlePost.category), subcategory: _vm.kebabify(postRow.posts.singlePost.subcategory) } },\"hreflang\":\"en-us\"}},[_vm._v(\" \"+_vm._s(postRow.posts.singlePost.subcategory)+\" \")])],1),_c('v-card-text',{staticClass:\"content-block\"},[_c('h2',{staticClass:\"title-post\"},[_vm._v(_vm._s(postRow.posts.singlePost.title))]),_c('p',[_vm._v(\" \"+_vm._s(postRow.posts.singlePost.blurb)+\" \")])])],1),_c('script',{attrs:{\"type\":\"application/ld+json\"},domProps:{\"innerHTML\":_vm._s(postRow.posts.singlePost.jsonld)}})],1):_vm._e()])],1):_vm._e()],1)}),0):_vm._e(),(!_vm.blogLoading && _vm.postRows.length > 0 && !_vm.moreDisabled)?_c('v-row',[_c('v-col',{staticClass:\"align-center\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red btn-load\",attrs:{\"block\":\"\",\"loading\":_vm.blogMoreLoading},on:{\"click\":function($event){return _vm.loadMorePosts()}}},[_vm._v(\"Load More\")])],1)],1):_vm._e(),(!_vm.blogLoading && (!_vm.postRows || _vm.postRows.length === 0))?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" No blog posts found \")])],1):_vm._e(),(_vm.blogLoading)?_c('v-row',_vm._l((3),function(i){return _c('v-col',{key:i,attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"300\",\"type\":\"card\"}})],1)}),1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"main\">\r\n <div class=\"carousel-holder\">\r\n <v-carousel cycle\r\n hide-delimiters\r\n show-arrows-on-hover\r\n v-if=\"featuredPosts.length > 0\">\r\n <v-carousel-item v-for=\"(featuredPost, i) in featuredPosts\"\r\n :key=\"i\"\r\n :src=\"featuredPost.headerImage\">\r\n <div class=\"bottom-holder\">\r\n <div class=\"blog-container\">\r\n <router-link :to=\"{ name: 'blogPost', params: { category: kebabify(featuredPost.urlCategory), title: kebabify(featuredPost.url) } }\"\r\n hreflang=\"en-us\">\r\n <span class=\"bottom-title\">{{ featuredPost.title }}</span>\r\n </router-link>\r\n </div>\r\n </div>\r\n </v-carousel-item>\r\n </v-carousel>\r\n </div>\r\n <v-container fluid\r\n class=\"tfb-container event-holder\">\r\n <div v-if=\"!blogLoading && postRows.length > 0\">\r\n <div v-for=\"postRow in postRows\"\r\n v-bind:key=\"postRow.id\">\r\n <v-row v-if=\"postRow.rowType === 1\"\r\n class=\"row-event\">\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n v-for=\"post in postRow.posts\"\r\n v-bind:key=\"post.id\"\r\n class=\"box\">\r\n <div class=\"holder\">\r\n <router-link :to=\"{ name: 'blogPost', params: { category: kebabify(post.urlCategory), title: kebabify(post.url) } }\"\r\n hreflang=\"en-us\"\r\n class=\"link-stretched\">\r\n </router-link>\r\n <v-card height=\"100%\">\r\n <v-img height=\"200px\"\r\n :src=\"post.headerImage\"\r\n class=\"img-box\">\r\n </v-img>\r\n <v-card-subtitle class=\"pb-0\">\r\n <router-link class=\"category-link\"\r\n :to=\"{ name: 'blogFeedCategory', params: { category: kebabify(post.category) } }\"\r\n v-if=\"!post.subcategory || post.subcategory === null || post.subcategory === ''\"\r\n hreflang=\"en-us\">\r\n {{ post.category }}\r\n </router-link>\r\n <router-link v-else\r\n class=\"category-link\"\r\n :to=\"{ name: 'blogFeedSubCategory',\r\n params: { category: kebabify(post.category), subcategory: kebabify(post.subcategory) } }\"\r\n hreflang=\"en-us\">\r\n {{post.subcategory}}\r\n </router-link>\r\n </v-card-subtitle>\r\n <v-card-text class=\"content-block\">\r\n <h2 class=\"title-post\">{{ post.title }}</h2>\r\n <p>\r\n {{ post.blurb }}\r\n </p>\r\n </v-card-text>\r\n </v-card>\r\n <script type=\"application/ld+json\" v-html=\"post.jsonld\">\r\n </script>\r\n </div>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"postRow.rowType === 2 || postRow.rowType === 3\"\r\n class=\"row-event\">\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n class=\"box category-list-holder\"\r\n v-bind:order=\"postRow.rowType === 2 ? 1 : 2\">\r\n <div class=\"holder\">\r\n <ul class=\"category-list\">\r\n <li v-for=\"post in postRow.posts.postArray\"\r\n v-bind:key=\"post.id\">\r\n <router-link :to=\"{ name: 'blogPost',\r\n params: { category: kebabify(post.urlCategory),\r\n title: kebabify(post.url) } }\"\r\n class=\"link-stretched\"\r\n hreflang=\"en-us\">\r\n </router-link>\r\n <v-img :src=\"post.headerImage\"\r\n class=\"img-post\"></v-img>\r\n <div class=\"title-container\">\r\n <router-link class=\"category-link\"\r\n :to=\"{ name: 'blogFeedCategory', params: { category: kebabify(post.category) } }\"\r\n v-if=\"!post.subcategory || post.subcategory === null || post.subcategory === ''\"\r\n hreflang=\"en-us\">\r\n {{ post.category }}\r\n </router-link>\r\n <router-link v-else\r\n class=\"category-link\"\r\n :to=\"{ name: 'blogFeedSubCategory',\r\n params: { category: kebabify(post.category), subcategory: kebabify(post.subcategory) } }\"\r\n hreflang=\"en-us\">\r\n {{post.subcategory}}\r\n </router-link>\r\n <strong class=\"title-post\" style=\"overflow-wrap: break-word;\">{{ post.title }}</strong>\r\n </div>\r\n <script type=\"application/ld+json\" v-html=\"post.jsonld\">\r\n </script>\r\n </li>\r\n </ul>\r\n </div>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"8\"\r\n class=\"box big-box\"\r\n v-bind:order=\"postRow.rowType === 2 ? 2 : 1\">\r\n <div class=\"holder\"\r\n v-if=\"postRow.posts && postRow.posts.singlePost\">\r\n <router-link :to=\"{ name: 'blogPost',\r\n params: { category: kebabify(postRow.posts.singlePost.urlCategory),\r\n title: kebabify(postRow.posts.singlePost.url) } }\"\r\n class=\"link-stretched\"\r\n hreflang=\"en-us\">\r\n </router-link>\r\n <v-card height=\"100%\">\r\n <v-img height=\"200px\"\r\n :src=\"postRow.posts.singlePost.headerImage\"\r\n class=\"img-box\">\r\n </v-img>\r\n <v-card-subtitle class=\"pb-0\">\r\n <router-link class=\"category-link\"\r\n :to=\"{ name: 'blogFeedCategory', params: { category: kebabify(postRow.posts.singlePost.category) } }\"\r\n v-if=\"!postRow.posts.singlePost.subcategory || postRow.posts.singlePost.subcategory === null || postRow.posts.singlePost.subcategory === ''\"\r\n hreflang=\"en-us\">\r\n {{ postRow.posts.singlePost.category }}\r\n </router-link>\r\n <router-link v-else\r\n class=\"category-link\"\r\n :to=\"{ name: 'blogFeedSubCategory',\r\n params: { category: kebabify(postRow.posts.singlePost.category), subcategory: kebabify(postRow.posts.singlePost.subcategory) } }\"\r\n hreflang=\"en-us\">\r\n {{postRow.posts.singlePost.subcategory}}\r\n </router-link>\r\n </v-card-subtitle>\r\n <v-card-text class=\"content-block\">\r\n <h2 class=\"title-post\">{{ postRow.posts.singlePost.title }}</h2>\r\n <p>\r\n {{ postRow.posts.singlePost.blurb }}\r\n </p>\r\n </v-card-text>\r\n </v-card>\r\n <script type=\"application/ld+json\" v-html=\"postRow.posts.singlePost.jsonld\">\r\n </script>\r\n </div>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n </div>\r\n <v-row v-if=\"!blogLoading && postRows.length > 0 && !moreDisabled\">\r\n <v-col cols=\"12\"\r\n class=\"align-center\">\r\n <v-btn block\r\n @click=\"loadMorePosts()\"\r\n :loading=\"blogMoreLoading\"\r\n class=\"tfb-button-min background-red btn-load\">Load More</v-btn>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"!blogLoading && (!postRows || postRows.length === 0)\">\r\n <v-col cols=\"12\">\r\n No blog posts found\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"blogLoading\">\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n v-for=\"i in 3\"\r\n :key=\"i\">\r\n <v-skeleton-loader class=\"mx-auto\"\r\n max-width=\"300\"\r\n type=\"card\"></v-skeleton-loader>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import { startCase } from 'lodash';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n\r\n export default {\r\n name: 'BlogMain',\r\n mixins: [tfbHelperMixin, tfbMetaMixin],\r\n data() {\r\n return {\r\n blogLoading: true,\r\n blogMoreLoading: true,\r\n moreDisabled: false,\r\n featuredPosts: [],\r\n };\r\n },\r\n computed: {\r\n metaDescription() {\r\n if (this.$route.params.subcategory) {\r\n return `${startCase(this.$route.params.subcategory)} | ${startCase(this.$route.params.category)} | Texas Heritage for Living`;\r\n }\r\n\r\n if (this.$route.params.category) {\r\n return `${startCase(this.$route.params.category)} | Texas Heritage for Living`;\r\n }\r\n\r\n return 'From delicious recipes to home and gardening tips, the Texas Farm Bureau Insurance blog has everything you need to know in order to live life like a true Texan.';\r\n },\r\n metaPageTitle() {\r\n if (this.$route.params.subcategory) {\r\n return `${startCase(this.$route.params.subcategory)} | ${startCase(this.$route.params.category)} | Texas Heritage for Living`;\r\n }\r\n\r\n if (this.$route.params.category) {\r\n return `${startCase(this.$route.params.category)} | Texas Heritage for Living`;\r\n }\r\n\r\n return 'Texas Heritage for Living';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/blog`;\r\n },\r\n postRows() {\r\n try {\r\n return this.$store.getters['blog/postRows'];\r\n } catch (error) {\r\n return [];\r\n }\r\n },\r\n },\r\n methods: {\r\n getFeaturedPosts() {\r\n // Get carousel posts\r\n this.$store.dispatch('blog/getFeaturedPosts', { sTop: this.carouselSize, sTfbId: this.trackingId })\r\n .then((foundPosts) => {\r\n this.featuredPosts = foundPosts;\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n loadBlogPosts() {\r\n this.blogLoading = true;\r\n if (this.$route.params.subcategory) {\r\n this.$store.dispatch('blog/getFeedPostsByCategory', { sCategory: startCase(this.$route.params.subcategory), sTfbId: this.trackingId })\r\n .then((foundPosts) => {\r\n this.handlePostResponse(foundPosts);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.blogLoading = false;\r\n });\r\n } else if (this.$route.params.category) {\r\n this.$store.dispatch('blog/getFeedPostsByCategory', { sCategory: startCase(this.$route.params.category), sTfbId: this.trackingId })\r\n .then((foundPosts) => {\r\n this.handlePostResponse(foundPosts);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.blogLoading = false;\r\n });\r\n } else {\r\n this.$store.dispatch('blog/getFeedPosts', { sTop: 16, sTfbId: this.trackingId })\r\n .then((foundPosts) => {\r\n this.getFeaturedPosts();\r\n this.handlePostResponse(foundPosts);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.blogLoading = false;\r\n });\r\n }\r\n },\r\n loadMorePosts() {\r\n this.blogMoreLoading = true;\r\n this.$store.dispatch('blog/getNextFeedPosts', { sTfbId: this.trackingId })\r\n .then((foundPosts) => {\r\n this.handlePostResponse(foundPosts);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.blogMoreLoading = false;\r\n });\r\n },\r\n handlePostResponse(response) {\r\n this.blogLoading = false;\r\n this.blogMoreLoading = false;\r\n if (!response) {\r\n this.moreDisabled = true;\r\n }\r\n },\r\n resetBlogFeed() {\r\n this.$store.commit('blog/RESET_STATE');\r\n this.featuredPosts = [];\r\n\r\n this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'Blog', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus === '') {\r\n this.loadBlogPosts();\r\n } else {\r\n this.blogLoading = false;\r\n this.$store.dispatch('app/setErrorMessage', returnedStatus);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error);\r\n this.blogLoading = false;\r\n });\r\n },\r\n },\r\n watch: {\r\n $route: 'resetBlogFeed',\r\n },\r\n created() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.resetBlogFeed();\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n\r\n #main {\r\n background-color: $tfb-lightest-gray !important;\r\n }\r\n\r\n .slide .v-image .v-image__image {\r\n background-position-y: top !important;\r\n }\r\n\r\n .img-post .v-responsive__sizer {\r\n padding-bottom: 100% !important;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogMain.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogMain.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BlogMain.vue?vue&type=template&id=c56d6878\"\nimport script from \"./BlogMain.vue?vue&type=script&lang=js\"\nexport * from \"./BlogMain.vue?vue&type=script&lang=js\"\nimport style0 from \"./BlogMain.vue?vue&type=style&index=0&id=c56d6878&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.blogLoading)?_c('main',{attrs:{\"id\":\"main-loading\",\"role\":\"main\"}},[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"1024\",\"type\":\"card\"}})],1):_vm._e(),(_vm.post !== null && _vm.post.id !== 0 && !_vm.blogLoading)?_c('main',{attrs:{\"id\":\"main\",\"role\":\"main\"}},[_c('div',{staticClass:\"visual-block\",style:(_vm.getBackgroundImage(_vm.post.headerImage))}),_c('div',{staticClass:\"main-holder pb-4\"},[_c('div',{staticClass:\"blog-container\"},[_c('div',{attrs:{\"id\":\"blogContent\"}},[_c('article',{staticClass:\"article\"},[_c('router-link',{staticClass:\"category-link\",attrs:{\"to\":{ name: 'blogFeedCategory', params: { category: _vm.kebabify(_vm.post.category) } },\"hreflang\":\"en-us\"}},[_vm._v(\" \"+_vm._s(_vm.post.category)+\" \")]),(_vm.post.subcategory && _vm.post.subcategory !== null && _vm.post.subcategory !== '')?_c('span',{staticClass:\"category-text\"},[_vm._v(\"   /   \")]):_vm._e(),(_vm.post.subcategory && _vm.post.subcategory !== null && _vm.post.subcategory !== '')?_c('router-link',{staticClass:\"category-link\",attrs:{\"to\":{ name: 'blogFeedSubCategory',\n params: { category: _vm.kebabify(_vm.post.category), subcategory: _vm.kebabify(_vm.post.subcategory) } },\"hreflang\":\"en-us\"}},[_vm._v(\" \"+_vm._s(_vm.post.subcategory)+\" \")]):_vm._e(),_c('h1',{staticClass:\"title-post\"},[_vm._v(\" \"+_vm._s(_vm.post.title)+\" \")]),_c('div',{staticClass:\"author-box\"},[(_vm.post.author !== null && _vm.post.author !== '')?_c('strong',[_vm._v(\" By \"+_vm._s(_vm.post.author)+\" | \")]):_vm._e(),(_vm.post.illustrator && _vm.post.illustrator !== null && _vm.post.illustrator !== '')?_c('strong',[_vm._v(\" Illustrations By \"+_vm._s(_vm.post.illustrator)+\" | \")]):_vm._e(),_c('strong',{staticClass:\"date\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatBlogDate\")(_vm.post.publishDate))+\" \")]),_c('div',{staticClass:\"social-top-post addthis_inline_share_toolbox\"})]),_c('span',{staticClass:\"article-text\",attrs:{\"id\":\"article-text\"},domProps:{\"innerHTML\":_vm._s(_vm.post.text)}}),_c('div',{staticClass:\"social-bottom-post addthis_inline_share_toolbox\"}),_c('sidebar',{attrs:{\"category\":_vm.post.category,\"subcategory\":_vm.post.subcategory,\"displayLocation\":\"bottom\",\"currentPostId\":_vm.post.id}}),_c('pagination',{attrs:{\"id\":_vm.post.id,\"date\":_vm.post.publishDate}}),_c('script',{attrs:{\"type\":\"application/ld+json\"},domProps:{\"innerHTML\":_vm._s(_vm.post.jsonld)}})],1)]),_c('sidebar',{attrs:{\"category\":_vm.post.category,\"subcategory\":_vm.post.subcategory,\"displayLocation\":\"side\",\"currentPostId\":_vm.post.id}})],1)])]):_vm._e(),((_vm.post === null || _vm.post.id === 0) && !_vm.blogLoading)?_c('main',{attrs:{\"id\":\"main-not-found\",\"role\":\"main\"}},[_c('div',{staticClass:\"error404 visual-block\",style:(_vm.getBackgroundImage(''))}),_c('div',{staticClass:\"main-holder pb-4\"},[_c('div',{staticClass:\"blog-container\"},[_c('div',{attrs:{\"id\":\"blogContent\"}},[_c('article',{staticClass:\"article\"},[_c('h1',{staticClass:\"title-post\"},[_vm._v(\" Post Not Found \")]),_c('span',{attrs:{\"id\":\"article-text\"}},[_vm._v(\" Sorry, we cannot find the post you requested. \")]),_c('sidebar',{attrs:{\"category\":_vm.articleSection,\"subcategory\":\"\",\"displayLocation\":\"bottom\",\"currentPostId\":_vm.post.id}})],1)]),_c('sidebar',{attrs:{\"category\":_vm.articleSection,\"subcategory\":\"\",\"displayLocation\":\"side\",\"currentPostId\":_vm.post.id}})],1)])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogPost.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogPost.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BlogPost.vue?vue&type=template&id=dae53aba\"\nimport script from \"./BlogPost.vue?vue&type=script&lang=js\"\nexport * from \"./BlogPost.vue?vue&type=script&lang=js\"\nimport style0 from \"./BlogPost.vue?vue&type=style&index=0&id=dae53aba&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"blogListing\"}},[_c('h1',{staticClass:\"tfb-title-text-large text-center\"},[_vm._v(\"Blog Index\")]),_c('v-container',{attrs:{\"fluid\":\"\"}},[(!_vm.blogLoading && _vm.blogPosts.length > 0)?_c('v-row',_vm._l((_vm.blogPosts),function(post){return _c('v-col',{key:post.id,attrs:{\"cols\":\"12\"}},[_c('a',{attrs:{\"href\":post.fullUrl,\"hreflang\":\"en-us\",\"aria-label\":post.title}},[_vm._v(_vm._s(post.fullUrl))])])}),1):_vm._e(),(!_vm.blogLoading && _vm.blogPosts.length <= 0)?_c('v-row',[_vm._v(\" No Blog Posts Found! \")]):_vm._e(),(_vm.blogLoading)?_c('v-row',_vm._l((3),function(i){return _c('v-col',{key:i,attrs:{\"cols\":\"12\"}},[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"300\",\"type\":\"list-item\"}})],1)}),1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"blogListing\">\r\n <h1 class=\"tfb-title-text-large text-center\">Blog Index</h1>\r\n <v-container fluid>\r\n <v-row v-if=\"!blogLoading && blogPosts.length > 0\">\r\n <v-col cols=\"12\"\r\n v-for=\"post in blogPosts\"\r\n v-bind:key=\"post.id\">\r\n <a :href=\"post.fullUrl\"\r\n hreflang=\"en-us\"\r\n :aria-label=\"post.title\">{{post.fullUrl}}</a>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"!blogLoading && blogPosts.length <= 0\">\r\n No Blog Posts Found!\r\n </v-row>\r\n <v-row v-if=\"blogLoading\">\r\n <v-col cols=\"12\"\r\n v-for=\"i in 3\"\r\n :key=\"i\">\r\n <v-skeleton-loader class=\"mx-auto\"\r\n max-width=\"300\"\r\n type=\"list-item\"></v-skeleton-loader>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n\r\n export default {\r\n name: 'BlogListing',\r\n mixins: [tfbHelperMixin, tfbMetaMixin],\r\n data() {\r\n return {\r\n blogLoading: true,\r\n moreDisabled: false,\r\n blogPosts: [],\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Blog Index';\r\n },\r\n metaDescription() {\r\n return 'Looking for a specific article from the Texas Farm Bureau Insurance blog? Visit our blog index to find what you need.';\r\n },\r\n },\r\n methods: {\r\n loadBlogPosts() {\r\n this.blogLoading = true;\r\n this.$store.dispatch('blog/getPostListing', { sTop: 100, sTfbId: this.trackingId })\r\n .then((foundPosts) => {\r\n this.blogLoading = false;\r\n this.blogPosts = foundPosts;\r\n this.loadMorePosts();\r\n })\r\n .catch(() => {\r\n this.moreDisabled = true;\r\n this.blogLoading = false;\r\n });\r\n },\r\n loadMorePosts() {\r\n this.$store.dispatch('blog/getMorePostListing', { sTfbId: this.trackingId })\r\n .then((moreFoundPosts) => {\r\n if (!moreFoundPosts || moreFoundPosts === null || moreFoundPosts.length <= 0) {\r\n this.moreDisabled = true;\r\n } else {\r\n const tempPosts = this.blogPosts.concat(moreFoundPosts);\r\n this.blogPosts = tempPosts;\r\n this.loadMorePosts();\r\n }\r\n })\r\n .catch((error) => {\r\n this.moreDisabled = true;\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n },\r\n created() {\r\n this.loadBlogPosts();\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogListing.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogListing.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BlogListing.vue?vue&type=template&id=633d390a\"\nimport script from \"./BlogListing.vue?vue&type=script&lang=js\"\nexport * from \"./BlogListing.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-smaller-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"my-12\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-medium text-darker-blue text-center\"},[_vm._v(\"Page Not Found\")])])],1),_c('v-row',{staticClass:\"my-12\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',[_vm._v(\"We're sorry, the page you're looking for cannot be found.\")]),_c('br'),_c('p',[_vm._v(\" We recently updated our website, which may mean old bookmarks or favorites will not work. Please update your bookmarks or favorites to avoid this page in the future. \")]),_c('p',[_c('router-link',{attrs:{\"to\":{ name: 'home' },\"hreflang\":\"en-us\"}},[_vm._v(\" Continue to the Texas Farm Bureau Insurance home page \")]),_c('v-icon',[_vm._v(\"mdi-chevron-right\")])],1)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-smaller-container\">\r\n <v-row class=\"my-12\">\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-medium text-darker-blue text-center\">Page Not Found</span>\r\n </v-col>\r\n </v-row>\r\n <v-row class=\"my-12\">\r\n <v-col cols=\"12\">\r\n <h2>We're sorry, the page you're looking for cannot be found.</h2><br />\r\n <p>\r\n We recently updated our website, which may mean old bookmarks or favorites\r\n will not work. Please update your bookmarks or favorites to avoid this page\r\n in the future.\r\n </p>\r\n <p>\r\n <router-link :to=\"{ name: 'home' }\"\r\n hreflang=\"en-us\">\r\n Continue to the Texas Farm Bureau Insurance home page\r\n </router-link>\r\n <v-icon>mdi-chevron-right</v-icon>\r\n </p>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n\r\n export default {\r\n name: 'PageNotFound',\r\n mixins: [tfbMetaMixin],\r\n computed: {\r\n metaPageTitle() {\r\n return 'Page Not Found';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/not-found`;\r\n },\r\n },\r\n mounted() {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n },\r\n created() {\r\n this.$store.dispatch('app/setIsLoading', true);\r\n },\r\n };\r\n</script>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageNotFound.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageNotFound.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PageNotFound.vue?vue&type=template&id=67368475\"\nimport script from \"./PageNotFound.vue?vue&type=script&lang=js\"\nexport * from \"./PageNotFound.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"tfb-home\"}},[_c('div',{staticClass:\"tfb-header-photo\",style:(_vm.getHeaderBackgroundImage(_vm.headerImage))}),_c('services-tabs'),(_vm.showMobileAppCard)?_c('mobile-app-card'):_vm._e(),_vm._m(0),_c('jd-power-banner',{attrs:{\"banner-type\":\"image\"}}),_c('meet-agents'),_c('services-cards'),_c('videos',{attrs:{\"video-array\":_vm.homeVideos}}),_c('blog-feed'),_c('script',{attrs:{\"type\":\"application/ld+json\"}},[_vm._v(\" { \\\"@context\\\": \\\"https://schema.org/\\\", \\\"@type\\\": \\\"Organization\\\", \\\"name\\\": \\\"Texas Farm Bureau Insurance Companies\\\", \\\"url\\\": \\\"https://www.txfb-ins.com\\\", \\\"image\\\": \\\"https://www.txfb-ins.com/publishingimages/tfb-logo.jpg\\\", \\\"contactPoint\\\": { \\\"@type\\\": \\\"ContactPoint\\\", \\\"Telephone\\\": \\\"+1-800-772-6535\\\", \\\"contactType\\\": \\\"customer service\\\" }, \\\"description\\\": \\\"Serving Texans for over 50 years, Texas Farm Bureau Insurance offers home, auto, life, and farm coverage so you can focus on the moments worth covering.\\\", \\\"address\\\": { \\\"@type\\\": \\\"PostalAddress\\\", \\\"addressLocality\\\": \\\"Waco, Texas\\\", \\\"postalCode\\\": \\\"76710\\\", \\\"streetAddress\\\": \\\"7420 Fish Pond Road\\\" }, \\\"sameAs\\\": [ \\\"https://www.facebook.com/texasfarmbureauinsurance/\\\", \\\"https://twitter.com/TXFBInsurance\\\", \\\"https://www.instagram.com/texasheritageforliving/\\\", \\\"https://www.youtube.com/channel/UCAAiaNAyH5VlC1yC7sL_M3A\\\", \\\"https://www.pinterest.com/THFLmagazine/\\\" ] } \")])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"my-12 text-center\"},[_c('h1',{staticClass:\"tfb-title-text-large text-darkest-blue\"},[_vm._v(\" We Are Texas Farm Bureau Insurance \")]),_c('h2',{staticClass:\"tfb-title-text text-darkest-blue\"},[_vm._v(\" Your friendly neighborhood insurance agency. Since 1952. \")])])\n}]\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\",\"id\":\"meet-agents\"}},[_c('v-row',[_c('v-col',{staticClass:\"text-center\"},[_c('h2',{staticClass:\"tfb-title-text-large text-darkest-blue\"},[_vm._v(\" Meet Our Agents \")])])],1),_c('v-row',{attrs:{\"dense\":\"\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('agent-map',{attrs:{\"markers\":_vm.markers,\"info-window-open\":true}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\",\"id\":\"agent-listing-detail\"}},[_c('v-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('v-row',{staticClass:\"row-agents-gray py-7\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('v-text-field',{attrs:{\"id\":\"agent-search-zip\",\"type\":\"number\",\"minlength\":\"5\",\"maxlength\":\"5\",\"required\":\"\",\"dense\":\"\",\"filled\":\"\",\"background-color\":\"white\",\"hide-details\":\"auto\",\"placeholder\":\"Your ZIP Code\",\"hint\":\"Your ZIP Code\"},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('v-btn',{staticClass:\"tfb-button-attached-dense background-red\",attrs:{\"type\":\"submit\",\"disabled\":_vm.formDisabled}},[_vm._v(\"Search\")])]},proxy:true}]),model:{value:(_vm.searchAgentZipCode),callback:function ($$v) {_vm.searchAgentZipCode=$$v},expression:\"searchAgentZipCode\"}})],1)],1)],1),_c('v-row',{staticClass:\"find-agents-listing-gray px-3\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('div',{staticClass:\"mb-2\"},[(_vm.agents.length > 0)?_c('span',[_vm._v(\"Displaying \"+_vm._s(_vm.agents.length)+\" results from \"+_vm._s(_vm.agentZipCode))]):_vm._e(),(!_vm.agentLoading && _vm.agents.length <= 0 && _vm.agentZipCode !== '' && _vm.agentZipCode !== null)?_c('span',[_vm._v(\" Unable to locate agents in \"+_vm._s(_vm.agentZipCode)+\". \")]):_vm._e(),(!_vm.agentLoading && (_vm.agentZipCode === '' || _vm.agentZipCode === null))?_c('span',[_vm._v(\" Enter your ZIP code to locate agents in your area. \")]):_vm._e()]),_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"loading\":_vm.agentLoading,\"type\":\"list-item-avatar-three-line@3\"}},[_c('agent-cards',{attrs:{\"agent-listing\":_vm.agents}})],1)],1)],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',_vm._l((_vm.agentListing),function(agent){return _c('v-card',{key:agent.code,staticClass:\"d-inline-block mx-auto overflow-hidden agent-card\"},[_c('a',{attrs:{\"href\":agent.agentUrl,\"hreflang\":\"en-us\",\"aria-label\":agent.name}},[_c('v-list-item',{attrs:{\"three-line\":\"\"}},[_c('v-list-item-avatar',{attrs:{\"tile\":\"\",\"size\":\"100\",\"left\":\"\"}},[_c('v-img',{staticClass:\"rounded-0 agent-card-photo\",attrs:{\"src\":agent.photo},scopedSlots:_vm._u([{key:\"placeholder\",fn:function(){return [_c('v-img',{attrs:{\"src\":_vm.defaultAgentImage}})]},proxy:true}],null,true)})],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(agent.name)+\" \")]),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[(agent.physicalAddressDisplay && agent.physicalAddressDisplay !== null)?_c('v-col',{attrs:{\"cols\":\"12\",\"lg\":\"6\",\"itemprop\":\"address\",\"itemscope\":\"\",\"itemtype\":\"http://schema.org/PostalAddress\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(agent.physicalAddressDisplay)}})]):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\",\"lg\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"formatPhone\")(agent.phoneNumber))),_c('br'),_c('span',{staticClass:\"text-lowercase\"},[_vm._v(_vm._s(agent.emailAddress))])])],1)],1)],1)],1)])}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <v-card class=\"d-inline-block mx-auto overflow-hidden agent-card\"\r\n v-for=\"agent in agentListing\"\r\n v-bind:key=\"agent.code\">\r\n <a :href=\"agent.agentUrl\"\r\n hreflang=\"en-us\"\r\n :aria-label=\"agent.name\">\r\n <v-list-item three-line>\r\n <v-list-item-avatar tile\r\n size=\"100\"\r\n left>\r\n <v-img :src=\"agent.photo\"\r\n class=\"rounded-0 agent-card-photo\">\r\n <template v-slot:placeholder>\r\n <v-img :src=\"defaultAgentImage\"></v-img>\r\n </template>\r\n </v-img>\r\n </v-list-item-avatar>\r\n <v-list-item-content>\r\n <v-list-item-title>\r\n {{agent.name}}\r\n </v-list-item-title>\r\n <v-row no-gutters>\r\n <v-col cols=\"12\"\r\n lg=\"6\"\r\n itemprop=\"address\"\r\n itemscope\r\n itemtype=\"http://schema.org/PostalAddress\"\r\n v-if=\"agent.physicalAddressDisplay && agent.physicalAddressDisplay !== null\">\r\n <span v-html=\"agent.physicalAddressDisplay\"></span>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n lg=\"6\">\r\n {{agent.phoneNumber | formatPhone}}<br />\r\n <span class=\"text-lowercase\">{{agent.emailAddress}}</span>\r\n </v-col>\r\n </v-row>\r\n </v-list-item-content>\r\n </v-list-item>\r\n </a>\r\n</v-card>\r\n </div>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n\r\n export default {\r\n name: 'AgentCards',\r\n mixins: [tfbDataMixin, tfbHelperMixin],\r\n props: {\r\n agentListing: {\r\n type: Array,\r\n required: true,\r\n function() {\r\n return [{\r\n code: '',\r\n name: '',\r\n email: '',\r\n physicalAddressDisplay: '',\r\n phoneNumber: '',\r\n photo: this.defaultAgentImage,\r\n }];\r\n },\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .agent-card {\r\n width: 100%;\r\n color: $black;\r\n }\r\n\r\n .agent-card > a .v-list-item .v-list-item__title {\r\n color: $tfb-blue;\r\n text-align: left;\r\n text-decoration: none;\r\n }\r\n\r\n .agent-card > a:hover {\r\n text-decoration: none;\r\n }\r\n\r\n .agent-card > a .v-list-item--three-line .v-list-item__content {\r\n text-align: left;\r\n }\r\n\r\n .agent-card-photo {\r\n width: auto;\r\n vertical-align: middle;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentCards.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentCards.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AgentCards.vue?vue&type=template&id=3b6a0630\"\nimport script from \"./AgentCards.vue?vue&type=script&lang=js\"\nexport * from \"./AgentCards.vue?vue&type=script&lang=js\"\nimport style0 from \"./AgentCards.vue?vue&type=style&index=0&id=3b6a0630&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"find-agent-google-map\"},[_c('GmapMap',{ref:\"mapRef\",staticClass:\"google-map\",attrs:{\"options\":_vm.mapConfig,\"center\":{ lat: 31.5248446, lng: -97.2181 }}},[_c('gmap-info-window',{attrs:{\"options\":_vm.infoOptions,\"position\":_vm.infoWindowPos,\"opened\":_vm.infoWindowOpen},on:{\"closeclick\":function($event){_vm.infoWindowOpen=false}}}),_vm._l((_vm.markers),function(m,index){return _c('GmapMarker',{key:index,attrs:{\"position\":m.position,\"clickable\":true,\"draggable\":false,\"icon\":m.icon},on:{\"click\":function($event){return _vm.toggleInfoWindow(m,index)}}})})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"find-agent-google-map\">\r\n <GmapMap :options=\"mapConfig\"\r\n :center=\"{ lat: 31.5248446, lng: -97.2181 }\"\r\n ref=\"mapRef\"\r\n class=\"google-map\">\r\n <gmap-info-window :options=\"infoOptions\"\r\n :position=\"infoWindowPos\"\r\n :opened=\"infoWindowOpen\"\r\n @closeclick=\"infoWindowOpen=false\">\r\n </gmap-info-window>\r\n <GmapMarker :key=\"index\"\r\n v-for=\"(m, index) in markers\"\r\n :position=\"m.position\"\r\n :clickable=\"true\"\r\n :draggable=\"false\"\r\n :icon=\"m.icon\"\r\n @click=\"toggleInfoWindow(m,index)\" />\r\n </GmapMap>\r\n </div>\r\n</template>\r\n<script>\r\n import {\r\n mapSettings, defaultCenter,\r\n } from '@/mixins/googleSettings';\r\n\r\n export default {\r\n name: 'AgentMap',\r\n props: {\r\n markers: {\r\n type: Array,\r\n required: true,\r\n },\r\n infoWindowOpen: {\r\n type: Boolean,\r\n required: true,\r\n default: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n currentMidx: null,\r\n selectedMarker: null,\r\n };\r\n },\r\n computed: {\r\n mapConfig() {\r\n return {\r\n ...mapSettings,\r\n center: this.mapCenter,\r\n };\r\n },\r\n mapCenter() {\r\n // eslint-disable-next-line no-nested-ternary\r\n return this.markers.length > 0 ? this.selectedMarker !== null ? this.markers[this.selectedMarker].position : this.markers[0].position : defaultCenter;\r\n },\r\n infoWindowPos() {\r\n // eslint-disable-next-line no-nested-ternary\r\n return this.markers.length > 0 ? this.selectedMarker !== null ? this.markers[this.selectedMarker].position : this.markers[0].position : null;\r\n },\r\n infoOptions() {\r\n if (this.markers.length > 0) {\r\n if (this.selectedMarker !== null) {\r\n return {\r\n content: this.markers[this.selectedMarker].infoText,\r\n pixelOffset: {\r\n width: 0,\r\n height: -35,\r\n },\r\n };\r\n }\r\n return {\r\n content: this.markers[0].infoText,\r\n pixelOffset: {\r\n width: 0,\r\n height: -35,\r\n },\r\n };\r\n }\r\n\r\n return {\r\n content: '',\r\n pixelOffset: {\r\n width: 0,\r\n height: -35,\r\n },\r\n };\r\n },\r\n },\r\n methods: {\r\n toggleInfoWindow(marker, idx) {\r\n console.log(marker);\r\n console.log(idx);\r\n this.selectedMarker = idx;\r\n // this.infoWindowPos = marker.position;\r\n // this.infoOptions.content = marker.infoText;\r\n // check if its the same marker that was selected if yes toggle\r\n if (this.currentMidx === idx) {\r\n this.infoWindowOpen = !this.infoWindowOpen;\r\n } else {\r\n // if different marker set infowindow to open and reset current marker index\r\n this.infoWindowOpen = true;\r\n this.currentMidx = idx;\r\n }\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .find-agent-google-map {\r\n height: 100%;\r\n width: 100%;\r\n }\r\n\r\n .google-map {\r\n min-height: 500px;\r\n max-height: 1000px;\r\n width: 100%;\r\n }\r\n\r\n .gm-style-iw-d {\r\n color: $black;\r\n }\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentMap.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentMap.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AgentMap.vue?vue&type=template&id=ac297908\"\nimport script from \"./AgentMap.vue?vue&type=script&lang=js\"\nexport * from \"./AgentMap.vue?vue&type=script&lang=js\"\nimport style0 from \"./AgentMap.vue?vue&type=style&index=0&id=ac297908&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <v-container fluid\r\n class=\"pa-0\"\r\n id=\"meet-agents\">\r\n <v-row>\r\n <v-col class=\"text-center\">\r\n <h2 class=\"tfb-title-text-large text-darkest-blue\">\r\n Meet Our Agents\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n <v-row dense\r\n no-gutters>\r\n <v-col cols=\"12\"\r\n md=\"8\">\r\n <agent-map :markers=\"markers\"\r\n :info-window-open=\"true\"></agent-map>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\">\r\n <v-container fluid\r\n id=\"agent-listing-detail\"\r\n class=\"pa-0\">\r\n <v-form @submit.stop.prevent=\"onSubmit\">\r\n <v-row no-gutters\r\n class=\"row-agents-gray py-7\">\r\n <v-col>\r\n <v-text-field id=\"agent-search-zip\"\r\n v-model=\"searchAgentZipCode\"\r\n type=\"number\"\r\n minlength=\"5\"\r\n maxlength=\"5\"\r\n required\r\n dense\r\n filled\r\n background-color=\"white\"\r\n hide-details=\"auto\"\r\n placeholder=\"Your ZIP Code\"\r\n hint=\"Your ZIP Code\">\r\n <template v-slot:append-outer>\r\n <v-btn type=\"submit\"\r\n :disabled=\"formDisabled\"\r\n class=\"tfb-button-attached-dense background-red\">Search</v-btn>\r\n </template>\r\n </v-text-field>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n <v-row no-gutters\r\n class=\"find-agents-listing-gray px-3\">\r\n <v-col>\r\n <div class=\"mb-2\">\r\n <span v-if=\"agents.length > 0\">Displaying {{agents.length}} results from {{agentZipCode}}</span>\r\n <span v-if=\"!agentLoading && agents.length <= 0 && agentZipCode !== '' && agentZipCode !== null\">\r\n Unable to locate agents in {{agentZipCode}}.\r\n </span>\r\n <span v-if=\"!agentLoading && (agentZipCode === '' || agentZipCode === null)\">\r\n Enter your ZIP code to locate agents in your area.\r\n </span>\r\n </div>\r\n <v-skeleton-loader :loading=\"agentLoading\"\r\n type=\"list-item-avatar-three-line@3\"\r\n class=\"mx-auto\">\r\n <agent-cards :agent-listing=\"agents\"></agent-cards>\r\n </v-skeleton-loader>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n /* eslint no-underscore-dangle: 0 */\r\n import _ from 'lodash';\r\n import {\r\n defaultMarkerIcon, secondaryMarkerIcon, defaultMarker,\r\n } from '@/mixins/googleSettings';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import AgentCards from './AgentCards.vue';\r\n import AgentMap from './AgentMap.vue';\r\n\r\n export default {\r\n name: 'MeetAgents',\r\n mixins: [tfbHelperMixin, tfbDataMixin],\r\n data() {\r\n return {\r\n formDisabled: false,\r\n markers: [],\r\n searchAgentZipCode: '',\r\n agentLoading: false,\r\n agents: [],\r\n };\r\n },\r\n components: {\r\n AgentCards,\r\n AgentMap,\r\n },\r\n computed: {\r\n agentZipCode() {\r\n return this.$store.state.location.zipCode;\r\n },\r\n },\r\n mounted() {\r\n try {\r\n this.$store.dispatch('location/setLocation').then(() => {\r\n if (this.$store.state.location.latitude) {\r\n this.markers.push({\r\n infoText: 'Your Current Location',\r\n position: {\r\n lat: Number(this.$store.state.location.latitude),\r\n lng: Number(this.$store.state.location.longitude),\r\n },\r\n icon: secondaryMarkerIcon,\r\n });\r\n } else {\r\n this.markers.push(defaultMarker);\r\n }\r\n\r\n if (this.$store.state.location.zipCode) {\r\n this.searchAgentZipCode = this.$store.state.location.zipCode;\r\n this.onSubmit();\r\n }\r\n });\r\n } catch (e) {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: e,\r\n fileName: 'MeetAgents.vue',\r\n methodName: 'mounted-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n }\r\n },\r\n methods: {\r\n searchByCurrentLocation() {\r\n // console.log('in searchByCurrentLocation');\r\n try {\r\n this.$store.dispatch('location/setLocation').then(() => {\r\n if (this.$store.state.location.latitude) {\r\n this.markers.push({\r\n infoText: 'Your Current Location',\r\n position: {\r\n lat: Number(this.$store.state.location.latitude),\r\n lng: Number(this.$store.state.location.longitude),\r\n },\r\n icon: secondaryMarkerIcon,\r\n });\r\n } else {\r\n this.markers.push(defaultMarker);\r\n }\r\n\r\n if (this.$store.state.location.zipCode) {\r\n this.searchAgentZipCode = this.$store.state.location.zipCode;\r\n this.onSubmit();\r\n }\r\n });\r\n } catch (e) {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: e,\r\n fileName: 'MeetAgents.vue',\r\n methodName: 'searchByCurrentLocation-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n }\r\n },\r\n onSubmit() {\r\n // Disable the search button\r\n this.formDisabled = true;\r\n\r\n // Reset the Google Map markers\r\n this.markers = [];\r\n this.markers.push(defaultMarker);\r\n\r\n // Empty the agent listing\r\n this.agents = [];\r\n\r\n // Set the agent listing loading indicator\r\n this.agentLoading = true;\r\n\r\n // Save the zip code to the store\r\n this.$store.commit('location/SET_ZIPCODE', this.searchAgentZipCode);\r\n\r\n // Get the county associated with this zip code\r\n this.$store.dispatch('location/getAddress', { sAddress: this.searchAgentZipCode })\r\n .then((response) => {\r\n if (response.data.results && response.data.results.length > 0) {\r\n for (let c = 0; c < response.data.results.length; c += 1) {\r\n // eslint-disable-next-line prefer-destructuring\r\n const location = response.data.results[c].geometry.location;\r\n this.markers.pop();\r\n this.markers.push({\r\n infoText: 'Your Current Location',\r\n position: {\r\n lat: Number(location.lat),\r\n lng: Number(location.lng),\r\n },\r\n icon: secondaryMarkerIcon,\r\n });\r\n this.fetchOfficesByLatLong(location.lat, location.lng);\r\n }\r\n } else {\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'MeetAgents.vue',\r\n methodName: 'getAddress-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n });\r\n },\r\n fetchOfficesByLatLong(latitude, longitude) {\r\n // Get the offices in this county\r\n this.$store.dispatch('agentcounty/getOfficesByLatLong', {\r\n sLatitude: latitude, sLongitude: longitude, sRadius: '25', sTfbId: this.trackingId,\r\n })\r\n .then((response) => {\r\n if (response && response.length > 0) {\r\n // Empty the agent listing again\r\n this.agents = [];\r\n\r\n // Loop through the returned offices\r\n for (let c = 0; c < response.length; c += 1) {\r\n const countyOffice = response[c];\r\n\r\n // Add the county office to the map\r\n this.markers.push({\r\n infoText: countyOffice.officeMapInfoBox,\r\n position: {\r\n lat: Number(countyOffice.latitude),\r\n lng: Number(countyOffice.longitude),\r\n },\r\n icon: defaultMarkerIcon,\r\n });\r\n\r\n // Find all the agents in the office\r\n this.fetchAgentsByCountyBranch(countyOffice.name, countyOffice.branchCode, countyOffice.distance);\r\n }\r\n } else {\r\n // No offices were found\r\n // Set the agent listing loading indicator\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n // Set the agent listing loading indicator\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n });\r\n },\r\n fetchAgentsByCountyBranch(countyName, branchCode, distance) {\r\n // Find all the agents in the office\r\n this.$store.dispatch('agentcounty/getAgentsByOffice', { sCountyName: countyName, sBranchCode: branchCode, sTfbId: this.trackingId })\r\n .then((agentResponse) => {\r\n if (agentResponse && agentResponse.data && agentResponse.data._agents) {\r\n // Loop through the returned agents\r\n for (let a = 0; a < agentResponse.data._agents.length; a += 1) {\r\n const agent = agentResponse.data._agents[a];\r\n\r\n // Get the agent details\r\n this.$store.dispatch('agentcounty/getAgentDetails', { sAgentCode: agent._agentCode, sDistance: distance, sTfbId: this.trackingId })\r\n .then((detailResponse) => {\r\n if (detailResponse) {\r\n // Add the agent to the listing\r\n this.agents.push(detailResponse);\r\n }\r\n\r\n this.agents = _.uniqBy(this.agents, 'code');\r\n this.agents = _.orderBy(this.agents, ['distance'], ['asc']);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n // Set the agent listing loading indicator\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n });\r\n }\r\n }\r\n\r\n this.agents = _.uniqBy(this.agents, 'code');\r\n this.agents = _.orderBy(this.agents, ['distance'], ['asc']);\r\n\r\n // Set the agent listing loading indicator\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n // Set the agent listing loading indicator\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n });\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .google-map {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .row-agents-gray {\r\n background-color: $tfb-gray !important;\r\n color: $white;\r\n text-align: center;\r\n font-size: small;\r\n vertical-align: middle;\r\n padding: 15px;\r\n }\r\n\r\n .row-agents-listing-gray {\r\n background-color: $white !important;\r\n color: $black;\r\n text-align: center;\r\n font-size: .8em;\r\n vertical-align: middle;\r\n padding: 5px;\r\n height: 500px;\r\n overflow-x: hidden;\r\n overflow-y: scroll;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetAgents.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetAgents.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MeetAgents.vue?vue&type=template&id=79628d74\"\nimport script from \"./MeetAgents.vue?vue&type=script&lang=js\"\nexport * from \"./MeetAgents.vue?vue&type=script&lang=js\"\nimport style0 from \"./MeetAgents.vue?vue&type=style&index=0&id=79628d74&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"service-card-container\"},[_c('v-row',_vm._l((_vm.serviceItems),function(service){return _c('v-col',{key:service.id},[_c('v-card',{staticClass:\"service-card mx-auto\"},[_c('v-card-text',{staticClass:\"tfb-service-card-text\"},[_c('p',{staticClass:\"align-center\"},[_c('br'),_c('img',{staticClass:\"tfb-service-icon\",attrs:{\"src\":_vm.imageRootPath +'policy-icons/' +\n service.ServiceType + '-blue.png',\"aria-hidden\":\"true\",\"alt\":service.Title + ' Insurance'}}),_c('br'),_c('br'),_c('span',{staticClass:\"tfb-title-text-smaller text-uppercase text-darkest-blue\"},[_vm._v(\" \"+_vm._s(service.Title)+\" \"),_c('br'),_vm._v(\"Insurance \")]),_c('br'),_c('br'),_c('span',{staticClass:\"tfb-title-text\"},[_vm._v(\" \"+_vm._s(service.TagLine)),_c('br'),_c('br')])])]),_c('v-card-actions',{staticClass:\"tfb-card-footer text-center\"},[_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function({ hover }){return _c('v-btn',{class:`${hover? 'tfb-service-button-hover': ''} tfb-service-button mx-auto`,attrs:{\"outlined\":\"\",\"to\":{ name: 'insurance', params: { type: service.ServiceType }},\"hreflang\":\"en-us\"}},[_vm._v(\"Learn More\")])}}],null,true)})],1)],1)],1)}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container class=\"service-card-container\">\r\n <v-row>\r\n <v-col v-for=\"service in serviceItems\"\r\n v-bind:key=\"service.id\">\r\n <v-card class=\"service-card mx-auto\">\r\n <v-card-text class=\"tfb-service-card-text\">\r\n <p class=\"align-center\">\r\n <br />\r\n <img v-bind:src=\"imageRootPath +'policy-icons/' +\r\n service.ServiceType + '-blue.png'\"\r\n class=\"tfb-service-icon\"\r\n aria-hidden=\"true\"\r\n v-bind:alt=\"service.Title + ' Insurance'\" />\r\n <br /><br />\r\n <span class=\"tfb-title-text-smaller text-uppercase text-darkest-blue\">\r\n {{ service.Title }}\r\n <br />Insurance\r\n </span>\r\n <br /><br />\r\n <span class=\"tfb-title-text\">\r\n {{ service.TagLine }}<br /><br />\r\n </span>\r\n </p>\r\n </v-card-text>\r\n <v-card-actions class=\"tfb-card-footer text-center\">\r\n <v-hover>\r\n <v-btn slot-scope=\"{ hover }\"\r\n :class=\"`${hover? 'tfb-service-button-hover': ''} tfb-service-button mx-auto`\"\r\n outlined\r\n :to=\"{ name: 'insurance', params: { type: service.ServiceType }}\"\r\n hreflang=\"en-us\">Learn More</v-btn>\r\n </v-hover>\r\n </v-card-actions>\r\n </v-card>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'ServicesCards',\r\n mixins: [tfbHelperMixin],\r\n data() {\r\n return {\r\n serviceItems: null,\r\n };\r\n },\r\n created() {\r\n this.fetchData();\r\n },\r\n methods: {\r\n fetchData() {\r\n this.serviceItems = null;\r\n this.$store.dispatch('services/getServices', { sTfbId: this.trackingId })\r\n .then((response) => {\r\n this.serviceItems = response;\r\n });\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .service-card-container {\r\n margin-top: 20px;\r\n margin-bottom: 20px;\r\n min-height: 277px;\r\n }\r\n .service-card {\r\n height: 300px;\r\n }\r\n .tfb-service-icon {\r\n max-height: 50px;\r\n }\r\n .tfb-service-card-text {\r\n height: 248px;\r\n }\r\n .tfb-service-button {\r\n font-size: 0.75rem !important;\r\n font-weight: 700;\r\n font-family: 'BS-book', $body-font-family;\r\n white-space: normal !important;\r\n color: $tfb-blue !important;\r\n }\r\n .tfb-service-button-hover {\r\n background-color: $tfb-blue !important;\r\n color: $white !important;\r\n border-color: $tfb-blue !important;\r\n text-decoration: none !important;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServicesCards.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServicesCards.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ServicesCards.vue?vue&type=template&id=be09403a\"\nimport script from \"./ServicesCards.vue?vue&type=script&lang=js\"\nexport * from \"./ServicesCards.vue?vue&type=script&lang=js\"\nimport style0 from \"./ServicesCards.vue?vue&type=style&index=0&id=be09403a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-container tfb-service-tabs-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{staticClass:\"ml-auto tfb-header-overlay\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[(_vm.serviceItems)?_c('v-tabs',{staticClass:\"tfb-service-tabs\",attrs:{\"grow\":\"\",\"icons-and-text\":\"\",\"show-arrows\":\"\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tabs-slider'),_vm._l((_vm.serviceItems),function(service){return _c('v-tab',{key:service.id,attrs:{\"href\":`#tab-${service.ServiceType}`,\"title\":`${service.Title} Quote`}},[(_vm.tab === `tab-${service.ServiceType}`)?_c('img',{attrs:{\"src\":`${_vm.imageRootPath}policy-icons/${service.ServiceType}-blue.png`,\"id\":`${service.ServiceType}-services-icon`,\"aria-hidden\":\"true\",\"alt\":service.Title + ' Insurance'}}):_c('img',{attrs:{\"src\":`${_vm.imageRootPath}policy-icons/${service.ServiceType}-black.png`,\"id\":`${service.ServiceType}-services-icon`,\"aria-hidden\":\"true\",\"alt\":service.Title + ' Insurance'}})])}),_vm._l((_vm.serviceItems),function(service){return _c('v-tab-item',{key:service.id,attrs:{\"value\":'tab-' + service.ServiceType}},[_c('v-card',{attrs:{\"flat\":\"\",\"tile\":\"\"}},[_c('v-card-text',{staticClass:\"align-center\"},[_c('h2',{staticClass:\"tfb-title-text-medium text-darkest-blue text-uppercase text-center\"},[_vm._v(\" \"+_vm._s(service.Title)+\" Quote \")]),_vm._v(\" \"+_vm._s(service.TagLine)+\" \"),_c('br'),_c('br'),(service.AllowQuotes)?_c('v-btn',{staticClass:\"tfb-quote-button-min background-red\",attrs:{\"to\":{ name: 'quoteEntry', params: { type: service.ServiceType }},\"hreflang\":\"en-us\"}},[_vm._v(\" Let's Begin \")]):_c('v-btn',{staticClass:\"tfb-quote-button-min background-red\",attrs:{\"to\":{ name: 'countyLookup' },\"hreflang\":\"en-us\"}},[_vm._v(\" Find a Local Agent \")])],1),(service.AllowQuotes)?_c('v-card-actions',{staticClass:\"tfb-card-footer text-center\"},[_c('router-link',{attrs:{\"to\":{ name: 'quoteEntry', params: { type: service.ServiceType }},\"hreflang\":\"en-us\"}},[_vm._v(\" Retrieve Saved Quote \")]),_vm._v(\" | \"),_c('router-link',{attrs:{\"to\":{ name: 'countyLookup'},\"hreflang\":\"en-us\"}},[_vm._v(\"Find an Agent\")])],1):_vm._e()],1)],1)})],2):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-container tfb-service-tabs-container\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"ml-auto tfb-header-overlay\">\r\n <v-tabs grow\r\n icons-and-text\r\n show-arrows\r\n v-model=\"tab\"\r\n class=\"tfb-service-tabs\"\r\n v-if=\"serviceItems\">\r\n <v-tabs-slider></v-tabs-slider>\r\n <v-tab v-for=\"service in serviceItems\"\r\n v-bind:key=\"service.id\"\r\n :href=\"`#tab-${service.ServiceType}`\"\r\n :title=\"`${service.Title} Quote`\">\r\n <img v-if=\"tab === `tab-${service.ServiceType}`\"\r\n v-bind:src=\"`${imageRootPath}policy-icons/${service.ServiceType}-blue.png`\"\r\n v-bind:id=\"`${service.ServiceType}-services-icon`\"\r\n aria-hidden=\"true\"\r\n v-bind:alt=\"service.Title + ' Insurance'\" />\r\n <img v-else\r\n v-bind:src=\"`${imageRootPath}policy-icons/${service.ServiceType}-black.png`\"\r\n v-bind:id=\"`${service.ServiceType}-services-icon`\"\r\n aria-hidden=\"true\"\r\n v-bind:alt=\"service.Title + ' Insurance'\" />\r\n </v-tab>\r\n <v-tab-item v-for=\"service in serviceItems\"\r\n v-bind:key=\"service.id\"\r\n :value=\"'tab-' + service.ServiceType\">\r\n <v-card flat\r\n tile>\r\n <v-card-text class=\"align-center\">\r\n <h2 class=\"tfb-title-text-medium text-darkest-blue text-uppercase text-center\">\r\n {{ service.Title }} Quote\r\n </h2>\r\n {{ service.TagLine }}\r\n <br />\r\n <br />\r\n <v-btn :to=\"{ name: 'quoteEntry', params: { type: service.ServiceType }}\"\r\n v-if=\"service.AllowQuotes\"\r\n hreflang=\"en-us\"\r\n class=\"tfb-quote-button-min background-red\">\r\n Let's Begin\r\n </v-btn>\r\n <v-btn :to=\"{ name: 'countyLookup' }\"\r\n v-else\r\n hreflang=\"en-us\"\r\n class=\"tfb-quote-button-min background-red\">\r\n Find a Local Agent\r\n </v-btn>\r\n </v-card-text>\r\n <v-card-actions class=\"tfb-card-footer text-center\"\r\n v-if=\"service.AllowQuotes\">\r\n <router-link :to=\"{ name: 'quoteEntry', params: { type: service.ServiceType }}\"\r\n hreflang=\"en-us\">\r\n Retrieve Saved Quote\r\n </router-link> |\r\n <router-link :to=\"{ name: 'countyLookup'}\"\r\n hreflang=\"en-us\">Find an Agent</router-link>\r\n </v-card-actions>\r\n </v-card>\r\n </v-tab-item>\r\n </v-tabs>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'ServicesTabs',\r\n mixins: [tfbHelperMixin],\r\n data() {\r\n return {\r\n tab: null,\r\n serviceItems: null,\r\n };\r\n },\r\n created() {\r\n this.fetchData();\r\n },\r\n methods: {\r\n fetchData() {\r\n this.serviceItems = null;\r\n this.$store.dispatch('services/getServices', { sTfbId: this.trackingId })\r\n .then((response) => {\r\n this.serviceItems = response;\r\n });\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .tfb-service-tabs-container {\r\n min-height: 277px;\r\n }\r\n\r\n .tfb-service-tabs .v-tabs--icons-and-text > .v-tabs-bar {\r\n height: 50px;\r\n }\r\n\r\n .tfb-service-tabs .v-tab {\r\n background-color: $tfb-lightest-gray;\r\n border-color: $tfb-darkest-gray;\r\n }\r\n\r\n .tfb-service-tabs .v-tab:not(:last-child) {\r\n border-right: 1px solid rgba(0, 0, 0, 0.12);\r\n }\r\n\r\n .tfb-service-tabs .v-tab--active {\r\n background-color: $white;\r\n border-color: $tfb-darkest-gray;\r\n }\r\n\r\n .tfb-service-tabs a.v-tab--active img {\r\n opacity: 1 !important;\r\n }\r\n\r\n .tfb-service-tabs a.v-tab img {\r\n max-height: 30px;\r\n opacity: .5;\r\n }\r\n\r\n .tfb-service-tabs a.v-tab:hover img {\r\n opacity: inherit;\r\n transition: 0.3s cubic-bezier(0.25, 0.8, 0.5, 1);\r\n }\r\n\r\n .tfb-service-tabs .v-tabs-slider {\r\n background-color: rgba(0, 0, 0, 0) !important;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServicesTabs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServicesTabs.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ServicesTabs.vue?vue&type=template&id=03cb376e\"\nimport script from \"./ServicesTabs.vue?vue&type=script&lang=js\"\nexport * from \"./ServicesTabs.vue?vue&type=script&lang=js\"\nimport style0 from \"./ServicesTabs.vue?vue&type=style&index=0&id=03cb376e&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"main\"}},[(_vm.blogLoading || (!_vm.blogLoading && _vm.blogPosts.length > 0))?_c('v-container',{staticClass:\"tfb-container event-holder\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"my-6\"},[_c('v-col',{staticClass:\"align-center text-darker-blue\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('router-link',{staticClass:\"blog-listing-link\",attrs:{\"to\":{ name: 'blogListing' },\"hreflang\":\"en-us\"}},[_c('h2',{staticClass:\"tfb-title-text-medium\"},[_vm._v(\"Blog\")])]),_c('span',{staticClass:\"tfb-title-text\"},[_vm._v(\"From gardening to weathering storms, improving your home to exploring unknown roads, caring for your family to cooking for your friends.\")])],1)],1),(!_vm.blogLoading && _vm.blogPosts.length > 0)?_c('v-row',{staticClass:\"row-event\"},_vm._l((_vm.blogPosts),function(post){return _c('v-col',{key:post.id,staticClass:\"box\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('div',{staticClass:\"holder\"},[_c('router-link',{staticClass:\"link-stretched\",attrs:{\"to\":{ name: 'blogPost', params: { category: _vm.kebabify(post.urlCategory), title: _vm.kebabify(post.url) } },\"title\":post.title,\"hreflang\":\"en-us\"}}),_c('v-card',{attrs:{\"height\":\"100%\"}},[_c('v-img',{staticClass:\"img-box\",attrs:{\"height\":\"200px\",\"src\":post.headerImage}}),_c('v-card-subtitle',{staticClass:\"pb-0\"},[(!post.subcategory || post.subcategory === null || post.subcategory === '')?_c('router-link',{staticClass:\"category-link\",attrs:{\"hreflang\":\"en-us\",\"to\":{ name: 'blogFeedCategory', params: { category: _vm.kebabify(post.category) } }}},[_vm._v(\" \"+_vm._s(post.category)+\" \")]):_c('router-link',{staticClass:\"category-link\",attrs:{\"hreflang\":\"en-us\",\"to\":{ name: 'blogFeedSubCategory',\n params: { category: _vm.kebabify(post.category), subcategory: _vm.kebabify(post.subcategory) } }}},[_vm._v(\" \"+_vm._s(post.subcategory)+\" \")])],1),_c('v-card-text',{staticClass:\"content-block\"},[_c('h2',{staticClass:\"title-post\"},[_vm._v(_vm._s(post.title))]),_c('p',[_vm._v(\" \"+_vm._s(post.blurb)+\" \")])])],1)],1),_c('script',{attrs:{\"type\":\"application/ld+json\"},domProps:{\"innerHTML\":_vm._s(post.jsonld)}})])}),1):_vm._e(),(!_vm.blogLoading && _vm.blogPosts.length > 0)?_c('v-row',[_c('v-col',{staticClass:\"align-center\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red\",attrs:{\"to\":{ name: 'blog'}}},[_vm._v(\"Read More Articles\")])],1)],1):_vm._e(),(_vm.blogLoading)?_c('v-row',_vm._l((3),function(i){return _c('v-col',{key:i,attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"300\",\"type\":\"card\"}})],1)}),1):_vm._e()],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"main\">\r\n <v-container fluid\r\n class=\"tfb-container event-holder\"\r\n v-if=\"blogLoading || (!blogLoading && blogPosts.length > 0)\">\r\n <v-row class=\"my-6\">\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n class=\"align-center text-darker-blue\">\r\n <router-link :to=\"{ name: 'blogListing' }\"\r\n hreflang=\"en-us\"\r\n class=\"blog-listing-link\">\r\n <h2 class=\"tfb-title-text-medium\">Blog</h2>\r\n </router-link>\r\n <span class=\"tfb-title-text\">From gardening to weathering storms, improving your home to exploring unknown roads, caring for your family to cooking for your friends.</span>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"!blogLoading && blogPosts.length > 0\"\r\n class=\"row-event\">\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n v-for=\"post in blogPosts\"\r\n v-bind:key=\"post.id\"\r\n class=\"box\">\r\n <div class=\"holder\">\r\n <router-link :to=\"{ name: 'blogPost', params: { category: kebabify(post.urlCategory), title: kebabify(post.url) } }\"\r\n :title=\"post.title\"\r\n hreflang=\"en-us\"\r\n class=\"link-stretched\">\r\n </router-link>\r\n <v-card height=\"100%\">\r\n <v-img height=\"200px\"\r\n :src=\"post.headerImage\"\r\n class=\"img-box\">\r\n </v-img>\r\n <v-card-subtitle class=\"pb-0\">\r\n <router-link class=\"category-link\"\r\n hreflang=\"en-us\"\r\n v-if=\"!post.subcategory || post.subcategory === null || post.subcategory === ''\"\r\n :to=\"{ name: 'blogFeedCategory', params: { category: kebabify(post.category) } }\">\r\n {{ post.category }}\r\n </router-link>\r\n <router-link v-else\r\n class=\"category-link\"\r\n hreflang=\"en-us\"\r\n :to=\"{ name: 'blogFeedSubCategory',\r\n params: { category: kebabify(post.category), subcategory: kebabify(post.subcategory) } }\">\r\n {{post.subcategory}}\r\n </router-link>\r\n </v-card-subtitle>\r\n <v-card-text class=\"content-block\">\r\n <h2 class=\"title-post\">{{ post.title }}</h2>\r\n <p>\r\n {{ post.blurb }}\r\n </p>\r\n </v-card-text>\r\n </v-card>\r\n </div>\r\n <script type=\"application/ld+json\" v-html=\"post.jsonld\"></script>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"!blogLoading && blogPosts.length > 0\">\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n class=\"align-center\">\r\n <v-btn :to=\"{ name: 'blog'}\"\r\n class=\"tfb-button-min background-red\">Read More Articles</v-btn>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"blogLoading\">\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n v-for=\"i in 3\"\r\n :key=\"i\">\r\n <v-skeleton-loader class=\"mx-auto\"\r\n max-width=\"300\"\r\n type=\"card\"></v-skeleton-loader>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'BlogFeed',\r\n mixins: [tfbHelperMixin],\r\n data() {\r\n return {\r\n blogLoading: true,\r\n blogPosts: [],\r\n };\r\n },\r\n methods: {\r\n loadBlogPosts() {\r\n this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'Blog', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus === '') {\r\n this.blogLoading = true;\r\n this.$store.dispatch('blog/getPostListing', { sTop: 6, sTfbId: this.trackingId })\r\n .then((foundPosts) => {\r\n this.blogLoading = false;\r\n this.blogPosts = foundPosts;\r\n })\r\n .catch(() => {\r\n this.blogLoading = false;\r\n });\r\n } else {\r\n this.blogLoading = false;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error);\r\n this.blogLoading = false;\r\n });\r\n },\r\n },\r\n created() {\r\n this.loadBlogPosts();\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n #main {\r\n background-color: $tfb-lightest-gray !important;\r\n }\r\n\r\n .slide .v-image .v-image__image {\r\n background-position-y: top !important;\r\n }\r\n\r\n .img-post .v-responsive__sizer {\r\n padding-bottom: 100% !important;\r\n }\r\n\r\n a.blog-listing-link,\r\n a:hover.blog-listing-link,\r\n a:active.blog-listing-link,\r\n a:visited.blog-listing-link {\r\n color: $tfb-darker-blue !important;\r\n text-decoration: none !important;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogFeed.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogFeed.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BlogFeed.vue?vue&type=template&id=6f1d30a1\"\nimport script from \"./BlogFeed.vue?vue&type=script&lang=js\"\nexport * from \"./BlogFeed.vue?vue&type=script&lang=js\"\nimport style0 from \"./BlogFeed.vue?vue&type=style&index=0&id=6f1d30a1&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(!_vm.$vuetify.breakpoint.mobile)?_c('v-dialog',{attrs:{\"max-width\":\"510\"},on:{\"click:outside\":_vm.modalDismissed},model:{value:(_vm.showDesktopCard),callback:function ($$v) {_vm.showDesktopCard=$$v},expression:\"showDesktopCard\"}},[_c('v-card',[_c('v-img',{staticClass:\"align-end\",attrs:{\"src\":_vm.imageRootPath +'mobile-app-desktop-popup.jpg',\"alt\":\"Download Our New Mobile App\",\"height\":\"424\"}},[_c('v-card-title',{staticClass:\"mobile-app-card-desktop-links\"},[_c('mobile-app-links')],1)],1)],1)],1):_vm._e(),(_vm.$vuetify.breakpoint.mobile)?_c('v-dialog',{attrs:{\"max-width\":\"510\"},on:{\"click:outside\":_vm.modalDismissed},model:{value:(_vm.showMobileCard),callback:function ($$v) {_vm.showMobileCard=$$v},expression:\"showMobileCard\"}},[_c('v-card',[_c('v-img',{staticClass:\"align-end\",attrs:{\"src\":_vm.imageRootPath +'mobile-app-mobile-popup.png',\"alt\":\"Download Our New Mobile App\",\"height\":\"424\"}},[_c('v-card-title',{staticClass:\"mobile-app-card-mobile-links\"},[_c('mobile-app-links')],1)],1)],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <v-dialog v-if=\"!$vuetify.breakpoint.mobile\"\r\n v-model=\"showDesktopCard\"\r\n max-width=\"510\"\r\n @click:outside=\"modalDismissed\">\r\n <!--<v-container>\r\n <v-row no-gutters\r\n class=\"mobile-app-card rounded-lg\">\r\n <v-col cols=\"12\"\r\n class=\"mobile-app-card-image\">\r\n <v-img v-bind:src=\"imageRootPath +'mobile-app-desktop-popup.jpg'\"\r\n alt=\"Download Our New Mobile App\"\r\n contain\r\n class=\"mx-auto\"></v-img>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n class=\"mobile-app-card-mobile-links\">\r\n <mobile-app-links></mobile-app-links>\r\n </v-col>\r\n </v-row>\r\n </v-container>-->\r\n <v-card>\r\n <v-img v-bind:src=\"imageRootPath +'mobile-app-desktop-popup.jpg'\"\r\n alt=\"Download Our New Mobile App\"\r\n class=\"align-end\"\r\n height=\"424\">\r\n <v-card-title class=\"mobile-app-card-desktop-links\"><mobile-app-links></mobile-app-links></v-card-title>\r\n </v-img>\r\n </v-card>\r\n </v-dialog>\r\n <v-dialog v-if=\"$vuetify.breakpoint.mobile\"\r\n v-model=\"showMobileCard\"\r\n max-width=\"510\"\r\n @click:outside=\"modalDismissed\">\r\n <v-card>\r\n <v-img v-bind:src=\"imageRootPath +'mobile-app-mobile-popup.png'\"\r\n alt=\"Download Our New Mobile App\"\r\n class=\"align-end\"\r\n height=\"424\">\r\n <v-card-title class=\"mobile-app-card-mobile-links\"><mobile-app-links></mobile-app-links></v-card-title>\r\n </v-img>\r\n </v-card>\r\n <!--<v-container>\r\n <v-row no-gutters\r\n class=\"mobile-app-card rounded-lg\">\r\n <v-col cols=\"12\"\r\n class=\"mobile-app-card-image\">\r\n <v-img v-bind:src=\"imageRootPath +'mobile-app-mobile-popup.png'\"\r\n alt=\"Download Our New Mobile App\"\r\n contain\r\n class=\"mx-auto\"></v-img>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n class=\"mobile-app-card-mobile-links\">\r\n <mobile-app-links></mobile-app-links>\r\n </v-col>\r\n </v-row>\r\n </v-container>-->\r\n </v-dialog>\r\n </div>\r\n</template>\r\n<script>\r\n import MobileAppLinks from '@/views/layout/components/MobileAppLinks.vue';\r\n\r\n export default {\r\n name: 'MobileAppCard',\r\n components: {\r\n MobileAppLinks,\r\n },\r\n computed: {\r\n imageRootPath() {\r\n return `${process.env.VUE_APP_ROOT_URI}/publishingimages/`;\r\n },\r\n },\r\n data() {\r\n return {\r\n showDesktopCard: true,\r\n showMobileCard: true,\r\n };\r\n },\r\n methods: {\r\n modalDismissed() {\r\n // Hide the modal\r\n this.showDesktopCard = false;\r\n this.showMobileCard = false;\r\n\r\n // Set the cookie that they have dismissed the modal to avoid showing\r\n // it to them repeatedly (unless they clear their cookies)\r\n this.$store.dispatch('app/setMobileAppDisplay');\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .mobile-app-card {\r\n z-index: 997;\r\n background: rgba(202,226,241,1);\r\n background: -moz-linear-gradient(top, rgba(202,226,241,1) 0%, rgba(255,255,255,1) 70%, rgba(255,255,255,1) 100%);\r\n background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(202,226,241,1)), color-stop(70%, rgba(255,255,255,1)), color-stop(100%, rgba(255,255,255,1)));\r\n background: -webkit-linear-gradient(top, rgba(202,226,241,1) 0%, rgba(255,255,255,1) 70%, rgba(255,255,255,1) 100%);\r\n background: -o-linear-gradient(top, rgba(202,226,241,1) 0%, rgba(255,255,255,1) 70%, rgba(255,255,255,1) 100%);\r\n background: -ms-linear-gradient(top, rgba(202,226,241,1) 0%, rgba(255,255,255,1) 70%, rgba(255,255,255,1) 100%);\r\n background: linear-gradient(to bottom, rgba(202,226,241,1) 0%, rgba(255,255,255,1) 70%, rgba(255,255,255,1) 100%);\r\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cae2f1', endColorstr='#ffffff', GradientType=0 );\r\n }\r\n\r\n .mobile-app-card-text {\r\n color: $tfb-darker-blue;\r\n font-family: 'BS-light', $body-font-family;\r\n padding: 20px;\r\n }\r\n\r\n .mobile-app-card-header-text {\r\n font-size: 36px;\r\n }\r\n\r\n .mobile-app-card-detail-text {\r\n font-size: 16px;\r\n }\r\n\r\n .mobile-app-card-desktop-links {\r\n padding-bottom: 50px;\r\n }\r\n\r\n .mobile-app-card-mobile-links {\r\n /*background: $white;*/\r\n padding-bottom: 100px;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileAppCard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileAppCard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MobileAppCard.vue?vue&type=template&id=217eb360\"\nimport script from \"./MobileAppCard.vue?vue&type=script&lang=js\"\nexport * from \"./MobileAppCard.vue?vue&type=script&lang=js\"\nimport style0 from \"./MobileAppCard.vue?vue&type=style&index=0&id=217eb360&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div id=\"tfb-home\">\r\n <div class=\"tfb-header-photo\"\r\n :style=\"getHeaderBackgroundImage(headerImage)\" />\r\n <services-tabs></services-tabs>\r\n <!-- Mobile App Banner -->\r\n <mobile-app-card v-if=\"showMobileAppCard\"></mobile-app-card>\r\n <div class=\"my-12 text-center\">\r\n <h1 class=\"tfb-title-text-large text-darkest-blue\">\r\n We Are Texas Farm Bureau Insurance\r\n </h1>\r\n <h2 class=\"tfb-title-text text-darkest-blue\">\r\n Your friendly neighborhood insurance agency.\r\n Since 1952.\r\n </h2>\r\n </div>\r\n <jd-power-banner banner-type=\"image\"></jd-power-banner>\r\n <meet-agents></meet-agents>\r\n <services-cards></services-cards>\r\n <videos :video-array=\"homeVideos\"></videos>\r\n <blog-feed></blog-feed>\r\n <script type=\"application/ld+json\">\r\n {\r\n \"@context\": \"https://schema.org/\",\r\n \"@type\": \"Organization\",\r\n \"name\": \"Texas Farm Bureau Insurance Companies\",\r\n \"url\": \"https://www.txfb-ins.com\",\r\n \"image\": \"https://www.txfb-ins.com/publishingimages/tfb-logo.jpg\",\r\n \"contactPoint\": {\r\n \"@type\": \"ContactPoint\",\r\n \"Telephone\": \"+1-800-772-6535\",\r\n \"contactType\": \"customer service\"\r\n },\r\n \"description\": \"Serving Texans for over 50 years, Texas Farm Bureau Insurance offers home, auto, life, and farm coverage so you can focus on the moments worth covering.\",\r\n \"address\": {\r\n \"@type\": \"PostalAddress\",\r\n \"addressLocality\": \"Waco, Texas\",\r\n \"postalCode\": \"76710\",\r\n \"streetAddress\": \"7420 Fish Pond Road\"\r\n },\r\n \"sameAs\": [\r\n \"https://www.facebook.com/texasfarmbureauinsurance/\",\r\n \"https://twitter.com/TXFBInsurance\",\r\n \"https://www.instagram.com/texasheritageforliving/\",\r\n \"https://www.youtube.com/channel/UCAAiaNAyH5VlC1yC7sL_M3A\",\r\n \"https://www.pinterest.com/THFLmagazine/\"\r\n ]\r\n }\r\n </script>\r\n </div>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import JdPowerBanner from '@/views/layout/components/JDPowerBanner.vue';\r\n import MeetAgents from '@/views/agents/components/MeetAgents.vue';\r\n import ServicesCards from '@/views/services/components/ServicesCards.vue';\r\n import ServicesTabs from '@/views/services/components/ServicesTabs.vue';\r\n import Videos from '@/views/content/components/Video.vue';\r\n import BlogFeed from '@/views/blog/components/BlogFeed.vue';\r\n import MobileAppCard from '@/views/layout/components/MobileAppCard.vue';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'homeHeader',\r\n mixins: [tfbMetaMixin, tfbHelperMixin],\r\n data() {\r\n return {\r\n serviceItems: null,\r\n homeVideos: [],\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Home';\r\n },\r\n headerImage() {\r\n return `${process.env.VUE_APP_ROOT_URI}/publishingimages/default-rural-banner.jpg`;\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}`;\r\n },\r\n showMobileAppCard() {\r\n return this.$store.state.app.mobileAppDisplay === 'Y';\r\n },\r\n },\r\n components: {\r\n JdPowerBanner,\r\n MeetAgents,\r\n ServicesCards,\r\n ServicesTabs,\r\n Videos,\r\n BlogFeed,\r\n MobileAppCard,\r\n },\r\n created() {\r\n dispatch('app/clearErrorMessage');\r\n this.fetchData();\r\n },\r\n methods: {\r\n fetchData() {\r\n this.$store.dispatch('app/getVideosByPage', { sPage: 'default', sTfbId: this.trackingId })\r\n .then((response) => {\r\n this.homeVideos = response;\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=8b13b988\"\nimport script from \"./Home.vue?vue&type=script&lang=js\"\nexport * from \"./Home.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"itemscope\":\"\",\"itemtype\":\"http://schema.org/InsuranceAgency\"}},[_c('div',{staticClass:\"tfb-about-header-photo\",style:(_vm.getHeaderBackgroundImage(_vm.headerImage)),attrs:{\"itemprop\":\"image\"}}),_c('v-container',{staticClass:\"tfb-about-header-overlay tfb-smaller-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"pb-auto pb-lg-16\"},[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('img',{staticClass:\"tfb-small-drop-shadow\",attrs:{\"src\":`${_vm.imageRootPath}/who-we-are-header.png`,\"aria-hidden\":\"true\",\"alt\":\"Who We Are\"}}),_c('p',{staticClass:\"tfb-title-text-medium text-darker-blue\"},[_vm._v(\" We are an insurance provider built by Texans for Texans. We have been protecting families in our great state since 1952. \")])])],1),_c('v-row',{staticClass:\"pt-auto pt-lg-16\"},[_c('v-col',{staticClass:\"align-center\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button-fixed background-darkest-blue\",attrs:{\"hreflang\":\"en-us\",\"to\":{ name: 'insurance', params: { type: 'auto' }}}},[_vm._v(\" Learn About Our Insurance Offerings Here \")])],1),_c('v-col',{staticClass:\"align-center\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button-fixed background-red\",attrs:{\"hreflang\":\"en-us\",\"to\":{ name: 'careers' }}},[_vm._v(\"Learn About Joining Our Team Here\")])],1)],1)],1),_c('v-container',{staticClass:\"tfb-smaller-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"mt-auto mt-md-12\"},[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-medium text-darker-blue\"},[_vm._v(\" Our Mission \")]),_c('p',[_vm._v(\" We help our policyholders manage the financial risks of everyday life and successfully recover from insured losses through prompt, professional, personal service based on high ethical standards. \")])])],1),_c('v-row',{staticClass:\"mb-12\"},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('span',{staticClass:\"tfb-title-text-smaller text-darker-blue text-uppercase\"},[_vm._v(\" We are: \")]),_c('ul',[_c('li',[_vm._v(\"Headquartered in Waco, Texas\")]),_c('li',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"850+\")]),_vm._v(\" multi-line Agents\")]),_c('li',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"300+\")]),_vm._v(\" claims personnel\")]),_c('li',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"300\")]),_vm._v(\" offices statewide\")]),_c('li',[_vm._v(\"Consistently ranked “excellent” by A.M. Best\")]),_c('li',[_vm._v(\" Serving more than \"),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"500,000\")]),_vm._v(\" policyholders and their families \")])])]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('span',{staticClass:\"tfb-title-text-smaller text-darker-blue text-uppercase\"},[_vm._v(\" We are affiliated with: \")]),_c('ul',[_c('li',[_vm._v(\"Texas Farm Bureau Mutual Insurance Company\")]),_c('li',[_vm._v(\"Texas Farm Bureau Underwriters\")]),_c('li',[_vm._v(\"Texas Farm Bureau Casualty Insurance Company\")]),_c('li',[_vm._v(\"Farm Bureau County Mutual Insurance Company of Texas\")]),_c('li',[_vm._v(\"Southern Farm Bureau Life Insurance Company\")])])])],1)],1),_c('div',{staticClass:\"pt-12 background-lightest-gray\"},[_c('v-container',{staticClass:\"tfb-smaller-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-medium text-darker-blue text-center mb-4\"},[_c('a',{staticClass:\"footer-link\",attrs:{\"href\":\"https://texasfarmbureau.org/\",\"hreflang\":\"en-us\",\"title\":\"Texas Farm Bureau\",\"rel\":\"noopener\",\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":`${_vm.imageRootPath}/tfb-org-logo.png`,\"id\":\"tfb-org-log\",\"aria-hidden\":\"true\",\"alt\":\"Our Parent Company\"}})]),_c('br'),_vm._v(\" Our Parent Company \")]),_c('p',{staticClass:\"my-5\"},[_vm._v(\" As the unified voice of Texas agriculture, Texas Farm Bureau functions as a member of Farm Bureau, a national grassroots organization with memberships across America that focus on building strong, prosperous agricultural communities. \")]),_c('p',{staticClass:\"my-5\"},[_vm._v(\" Texas Farm Bureau is an independent, nongovernmental, voluntary organization governed by the people it represents. Its purpose is to enhance and strengthen the lives and well-being of rural Texans by working to improve education, economic opportunity, and social advancement. Texas Farm Bureau’s influence is local, county, and statewide. As the voice of agricultural producers at all levels, it functions as an open, nonpartisan, nonsectarian organization. \")]),_c('p',{staticClass:\"my-5\"},[_vm._v(\" Texas Farm Bureau Insurance builds and manages a financially strong, efficient, and member-oriented operation that supports the objectives and membership growth goals of the Farm Bureau parent organization. \")])])],1)],1),_c('jd-power-banner',{attrs:{\"banner-type\":\"image\"}})],1),_c('meet-agents'),_c('services'),_c('videos',{attrs:{\"video-array\":_vm.aboutUsVideos}}),_c('blog-feed')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div itemscope\r\n itemtype=\"http://schema.org/InsuranceAgency\">\r\n <div class=\"tfb-about-header-photo\"\r\n :style=\"getHeaderBackgroundImage(headerImage)\"\r\n itemprop=\"image\"/>\r\n <v-container fluid\r\n class=\"tfb-about-header-overlay tfb-smaller-container\">\r\n <v-row class=\"pb-auto pb-lg-16\">\r\n <v-col cols=\"12\"\r\n class=\"text-center\">\r\n <img v-bind:src=\"`${imageRootPath}/who-we-are-header.png`\"\r\n class=\"tfb-small-drop-shadow\"\r\n aria-hidden=\"true\"\r\n alt=\"Who We Are\"/>\r\n <p class=\"tfb-title-text-medium text-darker-blue\">\r\n We are an insurance provider built by Texans for Texans.\r\n We have been protecting families in our great state since 1952.\r\n </p>\r\n </v-col>\r\n </v-row>\r\n <v-row class=\"pt-auto pt-lg-16\">\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"align-center\">\r\n <v-btn class=\"tfb-button-fixed background-darkest-blue\"\r\n hreflang=\"en-us\"\r\n :to=\"{ name: 'insurance', params: { type: 'auto' }}\">\r\n Learn About Our Insurance Offerings Here\r\n </v-btn>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"align-center\">\r\n <v-btn class=\"tfb-button-fixed background-red\"\r\n hreflang=\"en-us\"\r\n :to=\"{ name: 'careers' }\">Learn About Joining Our Team Here</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <v-container fluid\r\n class=\"tfb-smaller-container\">\r\n <v-row class=\"mt-auto mt-md-12\">\r\n <v-col cols=\"12\"\r\n class=\"text-center\">\r\n <h2 class=\"tfb-title-text-medium text-darker-blue\">\r\n Our Mission\r\n </h2>\r\n <p>\r\n We help our policyholders manage the financial risks of everyday life and successfully\r\n recover from insured losses through prompt, professional, personal service based on\r\n high ethical standards.\r\n </p>\r\n </v-col>\r\n </v-row>\r\n <v-row class=\"mb-12\">\r\n <v-col cols=\"12\"\r\n md=\"6\">\r\n <span class=\"tfb-title-text-smaller text-darker-blue text-uppercase\">\r\n We are:\r\n </span>\r\n <ul>\r\n <li>Headquartered in Waco, Texas</li>\r\n <li><span class=\"font-weight-bold\">850+</span> multi-line Agents</li>\r\n <li><span class=\"font-weight-bold\">300+</span> claims personnel</li>\r\n <li><span class=\"font-weight-bold\">300</span> offices statewide</li>\r\n <li>Consistently ranked “excellent” by A.M. Best</li>\r\n <li>\r\n Serving more than <span class=\"font-weight-bold\">500,000</span>\r\n policyholders and their families\r\n </li>\r\n </ul>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\">\r\n <span class=\"tfb-title-text-smaller text-darker-blue text-uppercase\">\r\n We are affiliated with:\r\n </span>\r\n <ul>\r\n <li>Texas Farm Bureau Mutual Insurance Company</li>\r\n <li>Texas Farm Bureau Underwriters</li>\r\n <li>Texas Farm Bureau Casualty Insurance Company</li>\r\n <li>Farm Bureau County Mutual Insurance Company of Texas</li>\r\n <li>Southern Farm Bureau Life Insurance Company</li>\r\n </ul>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <div class=\"pt-12 background-lightest-gray\">\r\n <v-container fluid\r\n class=\"tfb-smaller-container\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-medium text-darker-blue text-center mb-4\">\r\n <a href=\"https://texasfarmbureau.org/\"\r\n hreflang=\"en-us\"\r\n title=\"Texas Farm Bureau\"\r\n rel=\"noopener\"\r\n target=\"_blank\"\r\n class=\"footer-link\">\r\n <img v-bind:src=\"`${imageRootPath}/tfb-org-logo.png`\"\r\n id=\"tfb-org-log\"\r\n aria-hidden=\"true\"\r\n alt=\"Our Parent Company\" />\r\n </a><br />\r\n Our Parent Company\r\n </h2>\r\n <p class=\"my-5\">\r\n As the unified voice of Texas agriculture, Texas Farm Bureau functions as a member of\r\n Farm Bureau, a national grassroots organization with memberships across America that\r\n focus on building strong, prosperous agricultural communities.\r\n </p>\r\n <p class=\"my-5\">\r\n Texas Farm Bureau is an independent, nongovernmental, voluntary organization governed\r\n by the people it represents. Its purpose is to enhance and strengthen the lives and\r\n well-being of rural Texans by working to improve education, economic opportunity, and\r\n social advancement. Texas Farm Bureau’s influence is local, county, and statewide.\r\n As the voice of agricultural producers at all levels, it functions as an open,\r\n nonpartisan, nonsectarian organization.\r\n </p>\r\n <p class=\"my-5\">\r\n Texas Farm Bureau Insurance builds and manages a financially strong, efficient, and\r\n member-oriented operation that supports the objectives and membership growth goals\r\n of the Farm Bureau parent organization.\r\n </p>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <jd-power-banner banner-type=\"image\"></jd-power-banner>\r\n </div>\r\n <meet-agents></meet-agents>\r\n <services></services>\r\n <videos :video-array=\"aboutUsVideos\"></videos>\r\n <blog-feed></blog-feed>\r\n </div>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import JdPowerBanner from '@/views/layout/components/JDPowerBanner.vue';\r\n import MeetAgents from '@/views/agents/components/MeetAgents.vue';\r\n import Services from '@/views/services/components/ServicesCards.vue';\r\n import Videos from '@/views/content/components/Video.vue';\r\n import BlogFeed from '@/views/blog/components/BlogFeed.vue';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'AboutUs',\r\n mixins: [tfbDataMixin, tfbMetaMixin, tfbHelperMixin],\r\n components: {\r\n JdPowerBanner,\r\n MeetAgents,\r\n Services,\r\n Videos,\r\n BlogFeed,\r\n },\r\n data() {\r\n return {\r\n aboutUsVideos: [],\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'About Us';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/about-us`;\r\n },\r\n headerImage() {\r\n return `${process.env.VUE_APP_ROOT_URI}/publishingimages/about-us-header-banner.jpg`;\r\n },\r\n },\r\n async created() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/getVideosByPage', { sPage: 'about', sTfbId: this.trackingId })\r\n .then((response) => {\r\n this.aboutUsVideos = response;\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n\r\n .tfb-about-header-photo {\r\n background-size: cover;\r\n background-position: center;\r\n min-height: 382px;\r\n }\r\n\r\n @media (min-width: 960px) {\r\n .tfb-about-header-photo {\r\n min-height: 482px;\r\n }\r\n }\r\n\r\n @media (min-width: 1264px) {\r\n .tfb-about-header-photo {\r\n min-height: 682px;\r\n }\r\n }\r\n\r\n @media print {\r\n .tfb-about-header-photo {\r\n display: none !important\r\n }\r\n }\r\n\r\n .tfb-about-header-overlay {\r\n margin-top: -125px;\r\n }\r\n\r\n @media (min-width: 960px) {\r\n .tfb-about-header-overlay {\r\n margin-top: -425px;\r\n }\r\n }\r\n\r\n @media (min-width: 1264px) {\r\n .tfb-about-header-overlay {\r\n margin-top: -625px;\r\n margin-bottom: 100px;\r\n }\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AboutUs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AboutUs.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AboutUs.vue?vue&type=template&id=dcd3b75a\"\nimport script from \"./AboutUs.vue?vue&type=script&lang=js\"\nexport * from \"./AboutUs.vue?vue&type=script&lang=js\"\nimport style0 from \"./AboutUs.vue?vue&type=style&index=0&id=dcd3b75a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-container',{staticClass:\"tfb-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"my-1\"},[_c('v-col',{staticClass:\"align-center\"},[_c('h1',{staticClass:\"tfb-title-text-medium text-darker-blue\"},[_vm._v(\"Find a Sales Manager\")])])],1),_c('v-row',[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-select',{attrs:{\"outlined\":\"\",\"solo\":\"\",\"id\":\"contact-subject-quote\",\"name\":\"contact-subject-quote\",\"label\":\"County\",\"items\":_vm.countyOptions,\"item-text\":\"_countyName\",\"item-value\":\"_countyName\"},on:{\"change\":_vm.findDsm},model:{value:(_vm.countyName),callback:function ($$v) {_vm.countyName=$$v},expression:\"countyName\"}})],1)],1),(_vm.countyName && _vm.countyName !== null)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"loading\":_vm.dsmLoading,\"type\":\"image\"}},[(_vm.foundDsm && _vm.foundDsm !== null && _vm.foundDsm.code !== '')?_c('v-img',{staticClass:\"rounded-0 agent-photo mx-auto\",attrs:{\"src\":_vm.foundDsm.photo,\"alt\":_vm.foundDsm.name,\"itemprop\":\"image\"},scopedSlots:_vm._u([{key:\"placeholder\",fn:function(){return [_c('v-img',{staticClass:\"rounded-0 agent-photo mx-auto\",attrs:{\"src\":_vm.defaultAgentImage,\"alt\":\"No Photo Available\",\"itemprop\":\"image\"}})]},proxy:true}],null,false,3272496251)}):_c('v-img',{staticClass:\"rounded-0 agent-photo mx-auto\",attrs:{\"src\":_vm.defaultAgentImage}})],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"9\"}},[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"loading\":_vm.dsmLoading,\"type\":\"paragraph\"}},[(_vm.foundDsm && _vm.foundDsm !== null)?_c('div',[_c('h2',{staticClass:\"tfb-title-text-small text-uppercase font-weight-bold\"},[_vm._v(\" Contact Information for \"+_vm._s(_vm.countyName)+\" County \")]),_c('h3',{staticClass:\"tfb-title-text-smaller text-uppercase font-weight-bold\",attrs:{\"itemprop\":\"name\"}},[_vm._v(\" \"+_vm._s(_vm.foundDsm.name)+\" \")]),(_vm.foundDsm.code !== '')?_c('h4',{staticClass:\"tfb-header-text-small text-uppercase font-weight-bold\"},[_vm._v(\"District Sales Manager\")]):_vm._e(),_c('span',{staticClass:\"tfb-header-text-small text-uppercase font-weight-bold\"},[_vm._v(\" Telephone: \")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":_vm._f(\"linkFormatPhone\")(_vm.foundDsm.phoneNumber),\"hreflang\":\"en-us\",\"itemprop\":\"telephone\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"formatPhone\")(_vm.foundDsm.phoneNumber))+\" \")]),_c('br'),_c('span',{staticClass:\"tfb-header-text-small text-uppercase font-weight-bold\"},[_vm._v(\" Email: \")]),_vm._v(\" \"),_c('a',{staticClass:\"text-lowercase\",attrs:{\"href\":_vm._f(\"linkFormatEmail\")(_vm.foundDsm.emailAddress),\"hreflang\":\"en-us\",\"itemprop\":\"email\"}},[_vm._v(\" \"+_vm._s(_vm.foundDsm.emailAddress)+\" \")]),_c('br')]):_c('div',[_c('span',{staticClass:\"tfb-title-text-smaller\"},[_vm._v(\" Unable to locate District Sales Manager for this county. \")])])])],1)],1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <v-container fluid\r\n class=\"tfb-container\">\r\n <v-row class=\"my-1\">\r\n <v-col class=\"align-center\">\r\n <h1 class=\"tfb-title-text-medium text-darker-blue\">Find a Sales Manager</h1>\r\n </v-col>\r\n </v-row>\r\n <!--<v-row class=\"my-12\">\r\n <v-col>\r\n <span class=\"text-darker-blue\">\r\n TODO: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi bibendum enim ac\r\n mollis varius. Etiam gravida sapien ac risus pharetra sagittis. Aenean iaculis\r\n porta faucibus. Nullam tincidunt arcu est, sit amet cursus lectus finibus sed.\r\n Quisque sed erat vitae mi sollicitudin laoreet a tristique lorem. Nullam feugiat\r\n dui sed tellus luctus sagittis sed ac urna.\r\n </span>\r\n </v-col>\r\n </v-row>-->\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"text-center\">\r\n <v-select outlined\r\n solo\r\n id=\"contact-subject-quote\"\r\n name=\"contact-subject-quote\"\r\n label=\"County\"\r\n :items=\"countyOptions\"\r\n @change=\"findDsm\"\r\n v-model=\"countyName\"\r\n item-text=\"_countyName\"\r\n item-value=\"_countyName\">\r\n </v-select>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"countyName && countyName !== null\">\r\n <v-col cols=\"12\"\r\n sm=\"3\">\r\n <v-skeleton-loader :loading=\"dsmLoading\"\r\n type=\"image\"\r\n class=\"mx-auto\">\r\n <v-img v-if=\"foundDsm && foundDsm !== null && foundDsm.code !== ''\"\r\n :src=\"foundDsm.photo\"\r\n class=\"rounded-0 agent-photo mx-auto\"\r\n :alt=\"foundDsm.name\"\r\n itemprop=\"image\">\r\n <template v-slot:placeholder>\r\n <v-img :src=\"defaultAgentImage\"\r\n alt=\"No Photo Available\"\r\n itemprop=\"image\"\r\n class=\"rounded-0 agent-photo mx-auto\"></v-img>\r\n </template>\r\n </v-img>\r\n <v-img v-else\r\n :src=\"defaultAgentImage\"\r\n class=\"rounded-0 agent-photo mx-auto\"></v-img>\r\n </v-skeleton-loader>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"9\">\r\n <v-skeleton-loader :loading=\"dsmLoading\"\r\n type=\"paragraph\"\r\n class=\"mx-auto\">\r\n <div v-if=\"foundDsm && foundDsm !== null\">\r\n <h2 class=\"tfb-title-text-small text-uppercase font-weight-bold\">\r\n Contact Information for {{ countyName }} County\r\n </h2>\r\n <h3 class=\"tfb-title-text-smaller text-uppercase font-weight-bold\"\r\n itemprop=\"name\">\r\n {{foundDsm.name}}\r\n </h3>\r\n <h4 v-if=\"foundDsm.code !== ''\"\r\n class=\"tfb-header-text-small text-uppercase font-weight-bold\">District Sales Manager</h4>\r\n <span class=\"tfb-header-text-small text-uppercase font-weight-bold\">\r\n Telephone:\r\n </span> <a v-bind:href=\"foundDsm.phoneNumber | linkFormatPhone\"\r\n hreflang=\"en-us\"\r\n itemprop=\"telephone\">\r\n {{foundDsm.phoneNumber | formatPhone}}\r\n </a><br />\r\n <span class=\"tfb-header-text-small text-uppercase font-weight-bold\">\r\n Email:\r\n </span> <a v-bind:href=\"foundDsm.emailAddress | linkFormatEmail\"\r\n hreflang=\"en-us\"\r\n class=\"text-lowercase\"\r\n itemprop=\"email\">\r\n {{foundDsm.emailAddress}}\r\n </a><br />\r\n </div>\r\n <div v-else>\r\n <span class=\"tfb-title-text-smaller\">\r\n Unable to locate District Sales Manager for this county.\r\n </span>\r\n </div>\r\n </v-skeleton-loader>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n /* eslint no-underscore-dangle: 0 */\r\n import { dispatch } from 'vuex-pathify';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'FindASalesManager',\r\n mixins: [tfbDataMixin, tfbMetaMixin, tfbHelperMixin],\r\n data() {\r\n return {\r\n foundDsm: null,\r\n countyName: '',\r\n countyOptions: [],\r\n dsmLoading: false,\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Find a Sales Manager';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/careers/find-a-sales-manager`;\r\n },\r\n },\r\n methods: {\r\n getCountyList() {\r\n this.$store.dispatch('agentcounty/getCountyList')\r\n .then((response) => {\r\n if (response && response.data && response.data._counties) {\r\n this.countyOptions = response.data._counties;\r\n }\r\n dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n findDsm() {\r\n this.dsmLoading = true;\r\n this.$store.dispatch('agentcounty/getSalesManager', { sCountyName: this.countyName, sTfbId: this.trackingId })\r\n .then((response) => {\r\n if (response) {\r\n if (response.errorMessage === null) {\r\n this.foundDsm = response;\r\n } else {\r\n dispatch('app/setErrorMessage', response);\r\n }\r\n }\r\n this.dsmLoading = false;\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n this.dsmLoading = false;\r\n });\r\n },\r\n },\r\n created() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n this.getCountyList();\r\n },\r\n };\r\n</script>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FindASalesManager.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FindASalesManager.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FindASalesManager.vue?vue&type=template&id=60b93767\"\nimport script from \"./FindASalesManager.vue?vue&type=script&lang=js\"\nexport * from \"./FindASalesManager.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"py-10 background-darker-blue align-center\"},[_vm._m(0),(_vm.careerOpeningsUrl !== '')?_c('div',{staticClass:\"py-10 align-center\"},[_c('v-btn',{staticClass:\"tfb-button background-red extra-padding\",attrs:{\"href\":_vm.careerOpeningsUrl,\"hreflang\":\"en-us\",\"target\":\"_blank\"}},[_vm._v(\"Click here to view our career openings\")])],1):_vm._e()]),_c('div',{staticClass:\"text-darkest-blue\"},[_c('v-container',{style:('background-image: url(' + _vm.becomeAgentBanner + ');background-size: cover;background-position: center;'),attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"tfb-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('h2',{staticClass:\"tfb-title-text-medium\"},[_vm._v(\" Become an Agent \")]),_c('ul',{staticClass:\"text-body-2\"},[_c('li',[_vm._v(\"Are you ambitious and personable?\"),_c('br'),_c('br')]),_c('li',[_vm._v(\" Do you have the desire to be the driving force in your professional future?\"),_c('br'),_c('br')]),_c('li',[_vm._v(\"Do you want to control your financial growth?\"),_c('br'),_c('br')]),_c('li',[_vm._v(\" Do you want to be a respected person in your community who offers proven products and is sought out for your expertise?\"),_c('br'),_c('br')]),_c('li',[_vm._v(\"Do you want to have a choice of office locations?\"),_c('br'),_c('br')])]),_c('v-btn',{staticClass:\"tfb-button background-blue extra-padding\",attrs:{\"hreflang\":\"en-us\",\"to\":{ name: 'salesManager' }}},[_vm._v(\" Contact us here for agent openings \")])],1),_c('v-col',{attrs:{\"cols\":\"12\",\"lg\":\"6\"}})],1)],1)],1)],1)],1)],1),_c('v-container',{staticClass:\"py-10\",attrs:{\"fluid\":\"\"}},[(_vm.becomeAgentVideo !== null)?_c('v-row',[_c('v-col',{staticClass:\"py-10 align-center\",style:(_vm.getVideoBackgroundImage(_vm.becomeAgentVideo.Thumbnail)),attrs:{\"cols\":\"12\",\"md\":\"6\",\"justify\":\"center\"}},[_c('div',{staticClass:\"tfb-video align-center py-10\"},[_c('div',{staticClass:\"tfb-video-header\"},[_c('img',{attrs:{\"alt\":\"Real Stories\",\"id\":\"video-header-image\",\"src\":_vm.imageRootPath + '/real-stories-header.png'}})]),_c('div',{staticClass:\"tfb-video-title\"},[_c('p',{staticClass:\"tfb-title-text-medium text-white\"},[_vm._v(\" \"+_vm._s(_vm.becomeAgentVideo.Title)+\" \")])]),_c('div',{staticClass:\"tfb-video-subtitle\"},[_c('p',{staticClass:\"tfb-title-text text-white font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.becomeAgentVideo.SubTitle)+\" \")]),_c('br')]),_c('div',{staticClass:\"tfb-video-button\"},[_c('v-btn',{staticClass:\"tfb-button background-red\",on:{\"click\":function($event){return _vm.getVideo(_vm.becomeAgentVideo.Id)}}},[_vm._v(\" Watch Video \")])],1)])])],1):_vm._e(),_c('v-dialog',{attrs:{\"max-width\":\"800\"},model:{value:(_vm.showEmbedded),callback:function ($$v) {_vm.showEmbedded=$$v},expression:\"showEmbedded\"}},[_c('v-card',{staticClass:\"align-center\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.videoText)}})])],1),_c('v-dialog',{attrs:{\"max-width\":\"800\"},model:{value:(_vm.showLocal),callback:function ($$v) {_vm.showLocal=$$v},expression:\"showLocal\"}},[_c('v-card',{staticClass:\"align-center\"},[_c('video',{attrs:{\"src\":_vm.videoText,\"controls\":\"\"}},[_vm._v(\" Sorry, your browser does not support embedded videos. \")])])],1)],1)],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"my-12\"},[_c('h1',{staticClass:\"tfb-title-text-large text-white\"},[_vm._v(\" Careers \")]),_c('p',{staticClass:\"tfb-title-text text-white\"},[_vm._v(\" Texas Farm Bureau Insurance offers a wide variety of career opportunities in areas all across the state of Texas to serve 500,000+ customers. \")])])\n}]\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <div class=\"py-10 background-darker-blue align-center\">\r\n <div class=\"my-12\">\r\n <h1 class=\"tfb-title-text-large text-white\">\r\n Careers\r\n </h1>\r\n <p class=\"tfb-title-text text-white\">\r\n Texas Farm Bureau Insurance offers a wide variety of career opportunities in areas all\r\n across the state of Texas to serve 500,000+ customers.\r\n </p>\r\n </div>\r\n <div class=\"py-10 align-center\"\r\n v-if=\"careerOpeningsUrl !== ''\">\r\n <v-btn class=\"tfb-button background-red extra-padding\"\r\n :href=\"careerOpeningsUrl\"\r\n hreflang=\"en-us\"\r\n target=\"_blank\">Click here to view our career openings</v-btn>\r\n </div>\r\n </div>\r\n <div class=\"text-darkest-blue\">\r\n <v-container fluid\r\n v-bind:style=\"'background-image: url(' + becomeAgentBanner + ');background-size: cover;background-position: center;'\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"tfb-container\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"6\">\r\n <h2 class=\"tfb-title-text-medium\">\r\n Become an Agent\r\n </h2>\r\n <ul class=\"text-body-2\">\r\n <li>Are you ambitious and personable?<br /><br /></li>\r\n <li>\r\n Do you have the desire to be the driving force in your professional\r\n future?<br /><br />\r\n </li>\r\n <li>Do you want to control your financial growth?<br /><br /></li>\r\n <li>\r\n Do you want to be a respected person in your community who offers proven\r\n products and is sought out for your expertise?<br /><br />\r\n </li>\r\n <li>Do you want to have a choice of office locations?<br /><br /></li>\r\n </ul>\r\n <v-btn class=\"tfb-button background-blue extra-padding\"\r\n hreflang=\"en-us\"\r\n :to=\"{ name: 'salesManager' }\">\r\n Contact us here for agent openings\r\n </v-btn>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n lg=\"6\"></v-col>\r\n </v-row>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n <v-container fluid\r\n class=\"py-10\">\r\n <v-row v-if=\"becomeAgentVideo !== null\">\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n justify=\"center\"\r\n class=\"py-10 align-center\"\r\n :style=\"getVideoBackgroundImage(becomeAgentVideo.Thumbnail)\">\r\n\r\n <div class=\"tfb-video align-center py-10\">\r\n <div class=\"tfb-video-header\">\r\n <img alt=\"Real Stories\"\r\n id=\"video-header-image\"\r\n v-bind:src=\"imageRootPath + '/real-stories-header.png'\" />\r\n </div>\r\n <div class=\"tfb-video-title\">\r\n <p class=\"tfb-title-text-medium text-white\">\r\n {{becomeAgentVideo.Title}}\r\n </p>\r\n </div>\r\n <div class=\"tfb-video-subtitle\">\r\n <p class=\"tfb-title-text text-white font-weight-bold\">\r\n {{becomeAgentVideo.SubTitle}}\r\n </p><br />\r\n </div>\r\n <div class=\"tfb-video-button\">\r\n <v-btn @click=\"getVideo(becomeAgentVideo.Id)\"\r\n class=\"tfb-button background-red\">\r\n Watch Video\r\n </v-btn>\r\n </div>\r\n </div>\r\n </v-col>\r\n </v-row>\r\n <v-dialog v-model=\"showEmbedded\"\r\n max-width=\"800\">\r\n <v-card class=\"align-center\">\r\n <span v-html=\"videoText\"></span>\r\n </v-card>\r\n </v-dialog>\r\n <v-dialog v-model=\"showLocal\"\r\n max-width=\"800\">\r\n <v-card class=\"align-center\">\r\n <video v-bind:src=\"videoText\"\r\n controls>\r\n Sorry, your browser does not support embedded videos.\r\n </video>\r\n </v-card>\r\n </v-dialog>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n /* eslint prefer-destructuring: 0 */\r\n import { dispatch } from 'vuex-pathify';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'Careers',\r\n mixins: [tfbDataMixin, tfbMetaMixin, tfbHelperMixin],\r\n data() {\r\n return {\r\n careerOpeningsUrl: '',\r\n becomeAgentVideo: null,\r\n showEmbedded: false,\r\n showLocal: false,\r\n videoText: null,\r\n };\r\n },\r\n computed: {\r\n metaDescription() {\r\n return 'Helping people is rewarding, especially at Texas Farm Bureau Insurance. Check out our career opportunities.';\r\n },\r\n metaPageTitle() {\r\n return 'Careers';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/careers`;\r\n },\r\n becomeAgentBanner() {\r\n return `${process.env.VUE_APP_ROOT_URI}/publishingimages/become-an-agent-header.png`;\r\n },\r\n becomeAgentVideoBanner() {\r\n return `${process.env.VUE_APP_ROOT_URI}/publishingimages/become-an-agent-video.jpg`;\r\n },\r\n },\r\n created() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/getConfiguration', { sSection: 'ExternalUrl', sTitle: 'TFBCareers' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n this.careerOpeningsUrl = response;\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n this.$store.dispatch('app/getVideosByPage', { sPage: 'career', sTfbId: this.trackingId })\r\n .then((response) => {\r\n if (response && response !== null && response.length > 0) {\r\n this.becomeAgentVideo = response[0];\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n methods: {\r\n getVideo(videoId) {\r\n this.$store.dispatch('app/getVideoById', { sId: videoId, sTfbId: this.trackingId })\r\n .then((response) => {\r\n if (response) {\r\n if (response.Embed) {\r\n this.videoText = response.Embed;\r\n this.showEmbedded = true;\r\n } else if (response.Url) {\r\n this.videoText = response.Url;\r\n this.showLocal = true;\r\n }\r\n }\r\n })\r\n .catch(() => {\r\n // Don't do anything\r\n });\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfb-career-overlay {\r\n z-index: 999;\r\n margin-top: 75px;\r\n margin-bottom: 10px;\r\n margin-left: 10px;\r\n }\r\n\r\n @media (min-width: 480px) {\r\n .tfb-career-overlay {\r\n margin-top: 100px;\r\n margin-bottom: 10px;\r\n margin-left: 10px;\r\n }\r\n }\r\n\r\n @media (min-width: 576px) {\r\n .tfb-career-overlay {\r\n margin-top: 120px;\r\n margin-bottom: 10px;\r\n margin-left: 10px;\r\n }\r\n }\r\n\r\n @media (min-width: 768px) {\r\n .tfb-career-overlay {\r\n margin-top: 150px;\r\n margin-bottom: 10px;\r\n margin-left: 10px;\r\n }\r\n }\r\n\r\n @media (min-width: 992px) {\r\n .tfb-career-overlay {\r\n margin-top: 5px;\r\n margin-bottom: 50px;\r\n }\r\n }\r\n\r\n @media (min-width: 1200px) {\r\n .tfb-career-overlay {\r\n margin-top: 10px;\r\n margin-left: 50px;\r\n }\r\n }\r\n\r\n @media (min-width: 1300px) {\r\n .tfb-career-overlay {\r\n margin-top: 10px;\r\n margin-bottom: 75px;\r\n }\r\n }\r\n\r\n @media (min-width: 1500px) {\r\n .tfb-career-overlay {\r\n margin-top: 30px;\r\n margin-bottom: 75px;\r\n }\r\n }\r\n\r\n @media (min-width: 1600px) {\r\n .tfb-career-overlay {\r\n margin-top: 40px;\r\n margin-bottom: 100px;\r\n }\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Careers.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Careers.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Careers.vue?vue&type=template&id=62513f46\"\nimport script from \"./Careers.vue?vue&type=script&lang=js\"\nexport * from \"./Careers.vue?vue&type=script&lang=js\"\nimport style0 from \"./Careers.vue?vue&type=style&index=0&id=62513f46&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"itemscope\":\"\",\"itemtype\":\"http://schema.org/SearchResultsPage\"}},[_c('v-container',{staticClass:\"tfb-container pb-10\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"my-1\"},[_c('v-col',[_c('h1',{staticClass:\"tfb-title-text-medium text-darker-blue text-center\"},[_vm._v(\" Search Results \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.submitSearch.apply(null, arguments)}}},[_c('v-text-field',{attrs:{\"background-color\":\"white\",\"dense\":\"\",\"filled\":\"\",\"id\":\"agent-search-zip\",\"required\":\"\",\"type\":\"search\"},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('v-btn',{staticClass:\"tfb-button-attached-dense background-red\",on:{\"click\":_vm.submitSearch}},[_vm._v(\"Search\")])]},proxy:true}]),model:{value:(_vm.enteredSearchText),callback:function ($$v) {_vm.enteredSearchText=$$v},expression:\"enteredSearchText\"}})],1)],1)],1),(!_vm.resultsLoading && _vm.results && _vm.results.length > 0)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-text-standard-small font-italic\"},[_vm._v(\"Displaying \"+_vm._s(_vm.startRow + 1)+\"—\"+_vm._s(_vm.startRow + 10)+\" of about \"+_vm._s(_vm.totalRows)+\" results for “\"+_vm._s(_vm.searchText)+\"”\")])])],1),_vm._l((_vm.results),function(result){return _c('v-row',{key:result.Id},[(result.Photo !== null && result.Photo !== '')?_c('v-col',{attrs:{\"cols\":\"2\"}},[(result.Path !== null && result.Path !== '')?_c('a',{attrs:{\"href\":result.Path,\"hreflang\":\"en-us\"}},[_c('v-img',{staticClass:\"rounded-0 agent-photo mx-auto\",attrs:{\"src\":result.Photo,\"alt\":result.Title,\"itemprop\":\"image\"},scopedSlots:_vm._u([{key:\"placeholder\",fn:function(){return [_c('v-img',{staticClass:\"rounded-0 agent-photo mx-auto\",attrs:{\"src\":_vm.defaultAgentImage,\"alt\":\"No Photo Available\",\"itemprop\":\"image\"}})]},proxy:true}],null,true)})],1):_vm._e()]):_vm._e(),_c('v-col',{attrs:{\"cols\":result.Photo !== null && result.Photo !== '' ? '10' : '12'}},[(result.Path !== null && result.Path !== '')?_c('a',{attrs:{\"href\":result.Path,\"hreflang\":\"en-us\"}},[_vm._v(_vm._s(result.Title))]):_vm._e(),(result.Path === null || result.Path === '')?_c('span',[_c('strong',[_vm._v(_vm._s(result.Title))])]):_vm._e(),_c('p',{domProps:{\"innerHTML\":_vm._s(result.Highlighted)}}),_c('hr')])],1)}),(_vm.enablePreviousPageLink || _vm.enableNextPageLink)?_c('v-row',[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('a',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.enablePreviousPageLink),expression:\"enablePreviousPageLink\"}],attrs:{\"href\":\"\",\"hreflang\":\"en-us\"},on:{\"click\":function($event){$event.preventDefault();return _vm.goToPreviousPage()}}},[_vm._v(\"Previous Page\")]),_vm._v(\" | \"),_c('a',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.enableNextPageLink),expression:\"enableNextPageLink\"}],attrs:{\"href\":\"\",\"hreflang\":\"en-us\"},on:{\"click\":function($event){$event.preventDefault();return _vm.goToNextPage()}}},[_vm._v(\"Next Page\")])])],1):_vm._e()],2):_vm._e(),(!_vm.resultsLoading && (!_vm.results || _vm.results.length === 0) && _vm.searchText !== null && _vm.searchText !== '')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" No results found for “\"+_vm._s(_vm.searchText)+\"” \")])],1):_vm._e(),(_vm.resultsLoading && (!_vm.results || _vm.results.length === 0))?_c('div',_vm._l((3),function(i){return _c('v-row',{key:i},[_c('v-col',[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"loading\":_vm.resultsLoading,\"type\":\"list-item-avatar-three-line\"}})],1)],1)}),1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div itemscope\r\n itemtype=\"http://schema.org/SearchResultsPage\">\r\n <v-container fluid\r\n class=\"tfb-container pb-10\">\r\n <v-row class=\"my-1\">\r\n <v-col>\r\n <h1 class=\"tfb-title-text-medium text-darker-blue text-center\">\r\n Search Results\r\n </h1>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-form @submit.stop.prevent=\"submitSearch\">\r\n <v-text-field background-color=\"white\"\r\n dense\r\n filled\r\n id=\"agent-search-zip\"\r\n required\r\n type=\"search\"\r\n v-model=\"enteredSearchText\">\r\n <template v-slot:append-outer>\r\n <v-btn class=\"tfb-button-attached-dense background-red\"\r\n v-on:click=\"submitSearch\">Search</v-btn>\r\n </template>\r\n </v-text-field>\r\n </v-form>\r\n </v-col>\r\n </v-row>\r\n <div v-if=\"!resultsLoading && results && results.length > 0\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-text-standard-small font-italic\">Displaying {{startRow + 1}}—{{startRow + 10}} of about {{totalRows}} results for “{{searchText}}”</span>\r\n </v-col>\r\n </v-row>\r\n <v-row v-for=\"result in results\"\r\n v-bind:key=\"result.Id\">\r\n <v-col v-if=\"result.Photo !== null && result.Photo !== ''\"\r\n cols=\"2\">\r\n <a v-bind:href=\"result.Path\"\r\n hreflang=\"en-us\"\r\n v-if=\"result.Path !== null && result.Path !== ''\">\r\n <v-img :src=\"result.Photo\"\r\n class=\"rounded-0 agent-photo mx-auto\"\r\n :alt=\"result.Title\"\r\n itemprop=\"image\">\r\n <template v-slot:placeholder>\r\n <v-img :src=\"defaultAgentImage\"\r\n alt=\"No Photo Available\"\r\n itemprop=\"image\"\r\n class=\"rounded-0 agent-photo mx-auto\"></v-img>\r\n </template>\r\n </v-img>\r\n </a>\r\n </v-col>\r\n <v-col :cols=\"result.Photo !== null && result.Photo !== '' ? '10' : '12'\">\r\n <a v-bind:href=\"result.Path\"\r\n hreflang=\"en-us\"\r\n v-if=\"result.Path !== null && result.Path !== ''\">{{result.Title}}</a>\r\n <span v-if=\"result.Path === null || result.Path === ''\">\r\n <strong>{{result.Title}}</strong>\r\n </span>\r\n <p v-html=\"result.Highlighted\"></p>\r\n <hr />\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"enablePreviousPageLink || enableNextPageLink\">\r\n <v-col cols=\"12\"\r\n class=\"text-center\">\r\n <a href=\"\"\r\n v-on:click.prevent=\"goToPreviousPage()\"\r\n hreflang=\"en-us\"\r\n v-show=\"enablePreviousPageLink\">Previous Page</a> |\r\n <a href=\"\"\r\n v-on:click.prevent=\"goToNextPage()\"\r\n hreflang=\"en-us\"\r\n v-show=\"enableNextPageLink\">Next Page</a>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <v-row v-if=\"!resultsLoading && (!results || results.length === 0) && searchText !== null && searchText !== ''\">\r\n <v-col cols=\"12\">\r\n No results found for “{{searchText}}”\r\n </v-col>\r\n </v-row>\r\n <div v-if=\"resultsLoading && (!results || results.length === 0)\">\r\n <v-row v-for=\"i in 3\"\r\n :key=\"i\">\r\n <v-col>\r\n <v-skeleton-loader :loading=\"resultsLoading\"\r\n type=\"list-item-avatar-three-line\"\r\n class=\"mx-auto\">\r\n </v-skeleton-loader>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import _ from 'lodash';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n\r\n export default {\r\n name: 'SearchResults',\r\n mixins: [tfbDataMixin, tfbHelperMixin, tfbMetaMixin],\r\n data() {\r\n return {\r\n resultsLoading: false,\r\n results: [],\r\n searchText: '',\r\n startRow: 0,\r\n totalRows: 0,\r\n enteredSearchText: '',\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Search Results';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/search`;\r\n },\r\n enableNextPageLink() {\r\n return this.startRow >= 0 && this.totalRows > 10 && (this.startRow + 10) < this.totalRows;\r\n },\r\n enablePreviousPageLink() {\r\n return this.startRow > 0;\r\n },\r\n },\r\n watch: {\r\n startRow(val) {\r\n this.getSearchResults(this.enteredSearchText, val);\r\n },\r\n },\r\n methods: {\r\n getSearchResults(searchTerm, startSearchRow) {\r\n this.resultsLoading = true;\r\n this.results = [];\r\n this.$store.dispatch('app/getSearchResults', {\r\n sSearchTerm: searchTerm, sStartRow: startSearchRow, sTfbId: this.trackingId,\r\n })\r\n .then((foundResults) => {\r\n this.searchText = searchTerm;\r\n this.results = foundResults.Results;\r\n this.resultsLoading = false;\r\n this.totalRows = foundResults.TotalRows;\r\n this.$router.push({ name: 'searchResults', query: { term: searchTerm, start: startSearchRow } });\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.searchText = searchTerm;\r\n this.resultsLoading = false;\r\n });\r\n },\r\n submitSearch() {\r\n if (this.startRow !== 0) {\r\n // Update the start row which will trigger the search\r\n this.startRow = 0;\r\n } else {\r\n // Call the search\r\n this.getSearchResults(this.enteredSearchText, 0);\r\n }\r\n },\r\n goToNextPage() {\r\n // Update the start row which will trigger the search\r\n this.startRow = this.startRow + 10;\r\n },\r\n goToPreviousPage() {\r\n // Update the start row which will trigger the search\r\n this.startRow = this.startRow - 10;\r\n },\r\n },\r\n mounted() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.enteredSearchText = this.$route.query.term;\r\n this.startRow = !this.$route.query.start || this.$route.query.start === null || _.isNaN(this.$route.query.start) ? 0 : parseInt(this.$route.query.start, 10);\r\n\r\n if (this.enteredSearchText !== null && this.enteredSearchText !== '') {\r\n this.getSearchResults(this.enteredSearchText, this.startRow);\r\n }\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n\r\n #main {\r\n background-color: $tfb-lightest-gray !important;\r\n }\r\n\r\n .holder:hover .v-card .v-image {\r\n -webkit-filter: grayscale(1);\r\n filter: gray;\r\n }\r\n\r\n .slide .v-image .v-image__image {\r\n background-position-y: top !important;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResults.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResults.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchResults.vue?vue&type=template&id=05cc890c&scoped=true\"\nimport script from \"./SearchResults.vue?vue&type=script&lang=js\"\nexport * from \"./SearchResults.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchResults.vue?vue&type=style&index=0&id=05cc890c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"05cc890c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"contact-us\"}},[_c('div',{staticClass:\"background-lightest-gray\"},[_c('v-container',{staticClass:\"tfb-container pa-10\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',[_c('v-card',{staticClass:\"fill-height tfb-contact-card\"},[_c('v-card-title',[_c('p',{staticClass:\"tfb-title-text font-weight-bold text-uppercase text-blue\"},[_vm._v(\" Pay Your Bill \")])]),_c('v-card-text',[_c('span',{staticClass:\"font-weight-bold text-black\"},[_vm._v(\" Pay by Mail: \")]),_c('address',{attrs:{\"id\":\"billingAddress\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.billingAddress.name))]),_c('br'),_vm._v(\" \"+_vm._s(_vm.billingAddress.addressLineOne)),_c('br'),_vm._v(\" \"+_vm._s(_vm.billingAddress.addressLineTwo)),_c('br')]),_c('br'),_c('br'),_c('span',{staticClass:\"font-weight-bold text-black\"},[_vm._v(\" Pay by Phone: \")]),_c('a',{attrs:{\"href\":_vm.ivrPhone.link}},[_vm._v(_vm._s(_vm.ivrPhone.display))]),_c('br')])],1)],1),_c('v-col',[_c('claims-numbers')],1),_c('v-col',[_c('v-card',{staticClass:\"fill-height tfb-contact-card\"},[_c('v-card-title',[_c('p',{staticClass:\"tfb-title-text font-weight-bold text-uppercase text-blue\"},[_vm._v(\" Customer Service \")])]),_c('v-card-text',[_c('address',{attrs:{\"id\":\"corporateOfficeAddress\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.corporateOfficeAddress.name))]),_c('br'),_vm._v(\" \"+_vm._s(_vm.corporateOfficeAddress.addressLineOne)),_c('br'),_vm._v(\" \"+_vm._s(_vm.corporateOfficeAddress.addressLineTwo)),_c('br')]),_c('br'),_c('br'),_c('span',{staticClass:\"font-weight-bold text-black\"},[_vm._v(\" Customer Service: \")]),_c('a',{attrs:{\"href\":_vm.contactUsPhone.link}},[_vm._v(_vm._s(_vm.contactUsPhone.display))]),_c('br'),_c('br'),_c('br'),_c('span',{staticClass:\"font-weight-bold text-black\"},[_vm._v(\" Banks, Lenders & Financial Institutions: \")]),_c('a',{attrs:{\"href\":\"https://www.lenderdock.com\",\"hreflang\":\"en-us\",\"title\":\"LenderDock.com\",\"rel\":\"noopener\",\"target\":\"_blank\"}},[_vm._v(\"LenderDock.com\")]),_c('br'),_c('br'),_c('br'),_c('span',{staticClass:\"font-weight-bold text-black\"},[_vm._v(\" \"+_vm._s(_vm.fraudHotline.title)+\": \")]),_c('a',{attrs:{\"href\":_vm.fraudHotline.phoneLink}},[_vm._v(_vm._s(_vm.fraudHotline.phoneDisplay))]),_c('br')])],1)],1)],1)],1),_c('meet-agents')],1),_c('div',{staticClass:\"background-darker-blue py-10\"},[_c('h1',{staticClass:\"tfb-title-text-large text-center\"},[_vm._v(\"Email Us\")]),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.submitted),expression:\"!submitted\"}],staticClass:\"tfb-title-text-smaller text-center\"},[_vm._v(\" Please fill out the form below and one of our representatives will be in touch. \")]),_c('v-container',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.submitted),expression:\"!submitted\"}],staticClass:\"tfb-contact-box\"},[_c('required-fields-row'),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [_c('v-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('text-input',{attrs:{\"rules\":\"required|name|min:2|max:25\",\"minlength\":\"2\",\"maxlength\":\"25\",\"label\":\"First Name\",\"autocomplete\":\"shipping given-name\",\"autocapitalize\":\"words\"},model:{value:(_vm.firstName),callback:function ($$v) {_vm.firstName=$$v},expression:\"firstName\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('text-input',{attrs:{\"rules\":\"required|name|min:2|max:25\",\"minlength\":\"2\",\"maxlength\":\"25\",\"label\":\"Last Name\",\"autocomplete\":\"shipping family-name\",\"autocapitalize\":\"words\"},model:{value:(_vm.lastName),callback:function ($$v) {_vm.lastName=$$v},expression:\"lastName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('text-input',{attrs:{\"rules\":\"required|email|valid_domain|min:3|max:250\",\"autocomplete\":\"home email\",\"minlength\":\"3\",\"maxlength\":\"250\",\"label\":\"Email\",\"type\":\"email\"},model:{value:(_vm.email),callback:function ($$v) {_vm.email=$$v},expression:\"email\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('text-input',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('###-###-####'),expression:\"'###-###-####'\"}],attrs:{\"rules\":\"required|phone_number|min:10|max:12\",\"autocomplete\":\"home tel\",\"minlength\":\"10\",\"maxlength\":\"12\",\"label\":\"Phone\",\"type\":\"tel\"},model:{value:(_vm.phone),callback:function ($$v) {_vm.phone=$$v},expression:\"phone\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('text-input',{attrs:{\"rules\":\"alpha_num|min:4|max:11\",\"label\":\"Member Number\",\"autocapitalize\":\"characters\",\"minlength\":\"4\",\"maxlength\":\"11\"},model:{value:(_vm.memberNumber),callback:function ($$v) {_vm.memberNumber=$$v},expression:\"memberNumber\"}})],1),(_vm.isLoggedIn && _vm.policyList)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('select-input',{attrs:{\"rules\":\"min:6|max:11\",\"label\":\"Policy Number\",\"items\":_vm.policyList,\"item-text\":\"PolicyNumber\",\"item-value\":\"PolicyNumber\"},model:{value:(_vm.policyNumber),callback:function ($$v) {_vm.policyNumber=$$v},expression:\"policyNumber\"}})],1):_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('text-input',{attrs:{\"rules\":\"min:6|max:11\",\"label\":\"Policy Number\",\"autocapitalize\":\"characters\",\"minlength\":\"6\",\"maxlength\":\"11\"},model:{value:(_vm.policyNumber),callback:function ($$v) {_vm.policyNumber=$$v},expression:\"policyNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required|max:10\",\"label\":\"Subject\",\"items\":_vm.subjectOptions},model:{value:(_vm.subject),callback:function ($$v) {_vm.subject=$$v},expression:\"subject\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.subject === 'Billing')?_c('select-input',{attrs:{\"rules\":\"required|max:100\",\"label\":\"Subject Detail\",\"items\":_vm.billingOptions},model:{value:(_vm.subjectDetail),callback:function ($$v) {_vm.subjectDetail=$$v},expression:\"subjectDetail\"}}):_vm._e(),(_vm.subject === 'Claims')?_c('select-input',{attrs:{\"rules\":\"required|max:100\",\"label\":\"Subject Detail\",\"items\":_vm.claimsOptions},model:{value:(_vm.subjectDetail),callback:function ($$v) {_vm.subjectDetail=$$v},expression:\"subjectDetail\"}}):_vm._e(),(_vm.subject === 'Payments')?_c('select-input',{attrs:{\"rules\":\"required|max:100\",\"label\":\"Subject Detail\",\"items\":_vm.paymentsOptions},model:{value:(_vm.subjectDetail),callback:function ($$v) {_vm.subjectDetail=$$v},expression:\"subjectDetail\"}}):_vm._e(),(_vm.subject === 'Policy')?_c('select-input',{attrs:{\"rules\":\"required|max:100\",\"label\":\"Subject Detail\",\"items\":_vm.policyOptions},model:{value:(_vm.subjectDetail),callback:function ($$v) {_vm.subjectDetail=$$v},expression:\"subjectDetail\"}}):_vm._e(),(_vm.subject === 'Technical')?_c('select-input',{attrs:{\"rules\":\"required|max:100\",\"label\":\"Subject Detail\",\"items\":_vm.technicalOptions},model:{value:(_vm.subjectDetail),callback:function ($$v) {_vm.subjectDetail=$$v},expression:\"subjectDetail\"}}):_vm._e(),(_vm.subject === 'Quote')?_c('select-input',{attrs:{\"rules\":\"required|max:100\",\"label\":\"Residing County Name\",\"items\":_vm.countyOptions,\"item-text\":\"_countyName\",\"item-value\":\"_countyName\"},model:{value:(_vm.subjectDetail),callback:function ($$v) {_vm.subjectDetail=$$v},expression:\"subjectDetail\"}}):_vm._e()],1)],1),(_vm.subjectDetail === 'Cancellation')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-menu',{ref:\"cancelEffectiveDateMenu\",attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required\",\"name\":\"Cancellation Effective Date\",\"vid\":\"cancelEffective\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid }){return [_c('v-text-field',_vm._g({attrs:{\"outlined\":\"\",\"required\":\"\",\"readonly\":\"\",\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid,\"label\":\"Cancellation Effective Date\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-calendar\")]),_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.cancelEffectiveDate),callback:function ($$v) {_vm.cancelEffectiveDate=$$v},expression:\"cancelEffectiveDate\"}},on))]}}],null,true)})]}}],null,true),model:{value:(_vm.cancelEffectiveDateMenu),callback:function ($$v) {_vm.cancelEffectiveDateMenu=$$v},expression:\"cancelEffectiveDateMenu\"}},[_c('v-date-picker',{attrs:{\"color\":\"background-blue\",\"no-title\":\"\",\"min\":_vm.minCancellationDate},on:{\"input\":function($event){_vm.cancelEffectiveDateMenu = false}},model:{value:(_vm.cancelEffectiveDate),callback:function ($$v) {_vm.cancelEffectiveDate=$$v},expression:\"cancelEffectiveDate\"}})],1)],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-area-input',{attrs:{\"rules\":\"required|all_allowed_extended|min:4|max:2000\",\"label\":\"Message\",\"autocapitalize\":\"sentences\",\"minlength\":\"4\",\"maxlength\":\"2000\",\"counter\":2000},model:{value:(_vm.message),callback:function ($$v) {_vm.message=$$v},expression:\"message\"}})],1)],1),_c('v-row',{attrs:{\"justify\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"offset-sm\":\"6\"}},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.hasCaptcha),expression:\"!hasCaptcha\"}],staticClass:\"text-darkest-red\",attrs:{\"role\":\"alert\"}},[_vm._v(\"Please validate you are not a bot.\")]),_c('vue-recaptcha',{ref:\"recaptcha\",attrs:{\"sitekey\":_vm.googleReCaptchaKey},on:{\"verify\":_vm.onVerify,\"expired\":_vm.onExpired}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"offset-sm\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"type\":\"submit\"}},[_vm._v(\" Submit \")])],1)],1)],1)]}}])})],1),_c('v-container',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.submitted),expression:\"submitted\"}],staticClass:\"tfb-contact-box\"},[_c('v-row',[_c('v-col',[_c('span',{staticClass:\"tfb-title-text-smaller text-darkest-blue\"},[_vm._v(\"Thank you!\")])])],1)],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{staticClass:\"fill-height tfb-claim-numbers-card\"},[_c('v-card-title',[_c('p',{staticClass:\"tfb-title-text font-weight-bold text-uppercase text-blue\"},[_vm._v(\" Claims Assistance \")])]),_c('v-card-text',[_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold text-black\"},[_vm._v(\" \"+_vm._s(_vm.claimsReportingCenter.title)+\": \")]),_c('a',{attrs:{\"href\":_vm.claimsReportingCenter.phoneLink}},[_vm._v(_vm._s(_vm.claimsReportingCenter.phoneDisplay))])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold text-black\"},[_vm._v(\" \"+_vm._s(_vm.wacoClaims.title)+\": \")]),_c('a',{attrs:{\"href\":_vm.wacoClaims.phoneLink}},[_vm._v(_vm._s(_vm.wacoClaims.phoneDisplay))])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold text-black\"},[_vm._v(\" \"+_vm._s(_vm.roadsideAssistance.title)+\": \")]),_c('a',{attrs:{\"href\":_vm.roadsideAssistance.phoneLink}},[_vm._v(_vm._s(_vm.roadsideAssistance.phoneDisplay))])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold text-black\"},[_vm._v(\" \"+_vm._s(_vm.wrightFlood.title)+\": \")]),_c('a',{attrs:{\"href\":_vm.wrightFlood.phoneLink}},[_vm._v(_vm._s(_vm.wrightFlood.phoneDisplay))])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold text-black\"},[_vm._v(\" \"+_vm._s(_vm.texasWindstorm.title)+\": \")]),_c('a',{attrs:{\"href\":_vm.texasWindstorm.phoneLink}},[_vm._v(_vm._s(_vm.texasWindstorm.phoneDisplay))])])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-card class=\"fill-height tfb-claim-numbers-card\">\r\n <v-card-title>\r\n <p class=\"tfb-title-text font-weight-bold text-uppercase text-blue\">\r\n Claims Assistance\r\n </p>\r\n </v-card-title>\r\n <v-card-text>\r\n <v-container fluid\r\n class=\"pa-0\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"font-weight-bold text-black\">\r\n {{ claimsReportingCenter.title }}:\r\n </span>\r\n <a :href=\"claimsReportingCenter.phoneLink\">{{ claimsReportingCenter.phoneDisplay }}</a>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"font-weight-bold text-black\">\r\n {{ wacoClaims.title }}:\r\n </span>\r\n <a :href=\"wacoClaims.phoneLink\">{{ wacoClaims.phoneDisplay }}</a>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"font-weight-bold text-black\">\r\n {{ roadsideAssistance.title }}:\r\n </span>\r\n <a :href=\"roadsideAssistance.phoneLink\">{{ roadsideAssistance.phoneDisplay }}</a>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"font-weight-bold text-black\">\r\n {{ wrightFlood.title }}:\r\n </span>\r\n <a :href=\"wrightFlood.phoneLink\">{{ wrightFlood.phoneDisplay }}</a>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"font-weight-bold text-black\">\r\n {{ texasWindstorm.title }}:\r\n </span>\r\n <a :href=\"texasWindstorm.phoneLink\">{{ texasWindstorm.phoneDisplay }}</a>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </v-card-text>\r\n </v-card>\r\n</template>\r\n<script>\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n\r\n export default {\r\n name: 'ClaimsNumbers',\r\n mixins: [tfbDataMixin],\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfb-claim-numbers-card {\r\n max-width: 600px !important;\r\n min-height: 250px;\r\n margin-left: auto;\r\n margin-right: auto;\r\n }\r\n\r\n .tfb-claim-numbers-card .v-card__title {\r\n padding-bottom: 5px;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClaimsNumbers.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClaimsNumbers.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ClaimsNumbers.vue?vue&type=template&id=71637da8\"\nimport script from \"./ClaimsNumbers.vue?vue&type=script&lang=js\"\nexport * from \"./ClaimsNumbers.vue?vue&type=script&lang=js\"\nimport style0 from \"./ClaimsNumbers.vue?vue&type=style&index=0&id=71637da8&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-row',[_c('v-col',{staticClass:\"pt-0 text-caption text-right\",attrs:{\"cols\":\"12\",\"align-self\":\"start\"}},[_c('v-icon',{staticClass:\"text-red\",attrs:{\"x-small\":\"\"}},[_vm._v(\"mdi-asterisk\")]),_vm._v(\" — Required Fields \")],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"pt-0 text-caption text-right\"\r\n align-self=\"start\">\r\n <v-icon x-small\r\n class=\"text-red\">mdi-asterisk</v-icon>\r\n — Required Fields\r\n </v-col>\r\n </v-row>\r\n</template>\r\n<script>\r\n export default {\r\n name: 'RequiredFieldsRow',\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequiredFieldsRow.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequiredFieldsRow.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RequiredFieldsRow.vue?vue&type=template&id=1b401bae\"\nimport script from \"./RequiredFieldsRow.vue?vue&type=script&lang=js\"\nexport * from \"./RequiredFieldsRow.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div id=\"contact-us\">\r\n <div class=\"background-lightest-gray\">\r\n <v-container fluid\r\n class=\"tfb-container pa-10\">\r\n <v-row>\r\n <v-col>\r\n <v-card class=\"fill-height tfb-contact-card\">\r\n <v-card-title>\r\n <p class=\"tfb-title-text font-weight-bold text-uppercase text-blue\">\r\n Pay Your Bill\r\n </p>\r\n </v-card-title>\r\n <v-card-text>\r\n <span class=\"font-weight-bold text-black\">\r\n Pay by Mail:\r\n </span>\r\n <address id=\"billingAddress\">\r\n <span class=\"font-weight-bold\">{{billingAddress.name}}</span><br />\r\n {{billingAddress.addressLineOne}}<br />\r\n {{billingAddress.addressLineTwo}}<br />\r\n </address><br />\r\n <br />\r\n <span class=\"font-weight-bold text-black\">\r\n Pay by Phone:\r\n </span>\r\n <a :href=\"ivrPhone.link\">{{ ivrPhone.display }}</a><br />\r\n </v-card-text>\r\n </v-card>\r\n </v-col>\r\n <v-col>\r\n <claims-numbers></claims-numbers>\r\n </v-col>\r\n <v-col>\r\n <v-card class=\"fill-height tfb-contact-card\">\r\n <v-card-title>\r\n <p class=\"tfb-title-text font-weight-bold text-uppercase text-blue\">\r\n Customer Service\r\n </p>\r\n </v-card-title>\r\n <v-card-text>\r\n <address id=\"corporateOfficeAddress\">\r\n <span class=\"font-weight-bold\">{{corporateOfficeAddress.name}}</span><br />\r\n {{corporateOfficeAddress.addressLineOne}}<br />\r\n {{corporateOfficeAddress.addressLineTwo}}<br />\r\n </address><br />\r\n <br />\r\n <span class=\"font-weight-bold text-black\">\r\n Customer Service:\r\n </span>\r\n <a :href=\"contactUsPhone.link\">{{ contactUsPhone.display }}</a><br />\r\n <br /><br />\r\n <span class=\"font-weight-bold text-black\">\r\n Banks, Lenders & Financial Institutions:\r\n </span>\r\n <a href=\"https://www.lenderdock.com\"\r\n hreflang=\"en-us\"\r\n title=\"LenderDock.com\"\r\n rel=\"noopener\"\r\n target=\"_blank\">LenderDock.com</a><br />\r\n <br /><br />\r\n <span class=\"font-weight-bold text-black\">\r\n {{ fraudHotline.title }}:\r\n </span>\r\n <a :href=\"fraudHotline.phoneLink\">{{ fraudHotline.phoneDisplay }}</a><br />\r\n </v-card-text>\r\n </v-card>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <meet-agents></meet-agents>\r\n </div>\r\n <div class=\"background-darker-blue py-10\">\r\n <h1 class=\"tfb-title-text-large text-center\">Email Us</h1>\r\n <p class=\"tfb-title-text-smaller text-center\"\r\n v-show=\"!submitted\">\r\n Please fill out the form below and one of our representatives will\r\n be in touch.\r\n </p>\r\n <v-container class=\"tfb-contact-box\"\r\n v-show=\"!submitted\">\r\n <required-fields-row></required-fields-row>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form @submit.stop.prevent=\"handleSubmit(onSubmit)\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"6\">\r\n <text-input rules=\"required|name|min:2|max:25\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n label=\"First Name\"\r\n v-model=\"firstName\"\r\n autocomplete=\"shipping given-name\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\">\r\n <text-input rules=\"required|name|min:2|max:25\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n label=\"Last Name\"\r\n v-model=\"lastName\"\r\n autocomplete=\"shipping family-name\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"6\">\r\n <text-input rules=\"required|email|valid_domain|min:3|max:250\"\r\n autocomplete=\"home email\"\r\n minlength=\"3\"\r\n maxlength=\"250\"\r\n label=\"Email\"\r\n v-model=\"email\"\r\n type=\"email\"></text-input>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\">\r\n <text-input rules=\"required|phone_number|min:10|max:12\"\r\n autocomplete=\"home tel\"\r\n minlength=\"10\"\r\n maxlength=\"12\"\r\n label=\"Phone\"\r\n v-model=\"phone\"\r\n v-mask=\"'###-###-####'\"\r\n type=\"tel\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"6\">\r\n <text-input rules=\"alpha_num|min:4|max:11\"\r\n label=\"Member Number\"\r\n autocapitalize=\"characters\"\r\n minlength=\"4\"\r\n maxlength=\"11\"\r\n v-model=\"memberNumber\"></text-input>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n v-if=\"isLoggedIn && policyList\">\r\n <select-input rules=\"min:6|max:11\"\r\n label=\"Policy Number\"\r\n :items=\"policyList\"\r\n item-text=\"PolicyNumber\"\r\n item-value=\"PolicyNumber\"\r\n v-model=\"policyNumber\"></select-input>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n v-else>\r\n <text-input rules=\"min:6|max:11\"\r\n label=\"Policy Number\"\r\n autocapitalize=\"characters\"\r\n minlength=\"6\"\r\n maxlength=\"11\"\r\n v-model=\"policyNumber\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required|max:10\"\r\n label=\"Subject\"\r\n :items=\"subjectOptions\"\r\n v-model=\"subject\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required|max:100\"\r\n label=\"Subject Detail\"\r\n :items=\"billingOptions\"\r\n v-model=\"subjectDetail\"\r\n v-if=\"subject === 'Billing'\"></select-input>\r\n <select-input rules=\"required|max:100\"\r\n label=\"Subject Detail\"\r\n :items=\"claimsOptions\"\r\n v-model=\"subjectDetail\"\r\n v-if=\"subject === 'Claims'\"></select-input>\r\n <select-input rules=\"required|max:100\"\r\n label=\"Subject Detail\"\r\n :items=\"paymentsOptions\"\r\n v-model=\"subjectDetail\"\r\n v-if=\"subject === 'Payments'\"></select-input>\r\n <select-input rules=\"required|max:100\"\r\n label=\"Subject Detail\"\r\n :items=\"policyOptions\"\r\n v-model=\"subjectDetail\"\r\n v-if=\"subject === 'Policy'\"></select-input>\r\n <select-input rules=\"required|max:100\"\r\n label=\"Subject Detail\"\r\n :items=\"technicalOptions\"\r\n v-model=\"subjectDetail\"\r\n v-if=\"subject === 'Technical'\"></select-input>\r\n <select-input rules=\"required|max:100\"\r\n label=\"Residing County Name\"\r\n :items=\"countyOptions\"\r\n item-text=\"_countyName\"\r\n item-value=\"_countyName\"\r\n v-model=\"subjectDetail\"\r\n v-if=\"subject === 'Quote'\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"subjectDetail === 'Cancellation'\">\r\n <v-col cols=\"12\">\r\n <v-menu ref=\"cancelEffectiveDateMenu\"\r\n v-model=\"cancelEffectiveDateMenu\"\r\n :close-on-content-click=\"false\"\r\n transition=\"scale-transition\"\r\n offset-y\r\n max-width=\"290px\"\r\n min-width=\"290px\">\r\n <template v-slot:activator=\"{ on }\">\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required\"\r\n name=\"Cancellation Effective Date\"\r\n v-slot=\"{ errors, valid }\"\r\n vid=\"cancelEffective\">\r\n <v-text-field outlined\r\n required\r\n readonly\r\n hide-details=\"auto\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n v-model=\"cancelEffectiveDate\"\r\n label=\"Cancellation Effective Date\"\r\n v-on=\"on\">\r\n <template v-slot:append>\r\n <v-icon>mdi-calendar</v-icon>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-text-field>\r\n </ValidationProvider>\r\n </template>\r\n <v-date-picker v-model=\"cancelEffectiveDate\"\r\n color=\"background-blue\"\r\n no-title\r\n :min=\"minCancellationDate\"\r\n @input=\"cancelEffectiveDateMenu = false\"></v-date-picker>\r\n </v-menu>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-area-input rules=\"required|all_allowed_extended|min:4|max:2000\"\r\n label=\"Message\"\r\n autocapitalize=\"sentences\"\r\n minlength=\"4\"\r\n maxlength=\"2000\"\r\n :counter=\"2000\"\r\n v-model=\"message\"></text-area-input>\r\n </v-col>\r\n </v-row>\r\n <!-- REMOVED - Mimecast blocks sending the email to the requestor\r\n <v-row class=\"my-0\">\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <v-checkbox v-model=\"emailCopy\"\r\n class=\"my-0\"\r\n label=\"Send a copy to your email address?\">\r\n </v-checkbox>\r\n </v-col>\r\n </v-row>-->\r\n <v-row justify=\"end\">\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n offset-sm=\"6\">\r\n <span role=\"alert\"\r\n v-show=\"!hasCaptcha\"\r\n class=\"text-darkest-red\">Please validate you are not a bot.</span>\r\n <vue-recaptcha ref=\"recaptcha\"\r\n @verify=\"onVerify\"\r\n @expired=\"onExpired\"\r\n :sitekey=\"googleReCaptchaKey\"></vue-recaptcha>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n offset-sm=\"6\">\r\n <v-btn block\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">\r\n Submit\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </v-container>\r\n <v-container class=\"tfb-contact-box\"\r\n v-show=\"submitted\">\r\n <v-row>\r\n <v-col>\r\n <span class=\"tfb-title-text-smaller text-darkest-blue\">Thank you!</span>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\n /* eslint no-underscore-dangle: 0 */\r\n import { dispatch } from 'vuex-pathify';\r\n import { mask } from 'vue-the-mask';\r\n import DOMPurify from 'dompurify';\r\n import VueRecaptcha from 'vue-recaptcha';\r\n import { ValidationObserver, ValidationProvider } from 'vee-validate';\r\n import MeetAgents from '@/views/agents/components/MeetAgents.vue';\r\n import ClaimsNumbers from '@/views/claims/components/ClaimsNumbers.vue';\r\n import RequiredFieldsRow from '@/views/layout/components/RequiredFieldsRow.vue';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'ContactUs',\r\n mixins: [tfbDataMixin, tfbMetaMixin, tfbHelperMixin],\r\n components: {\r\n VueRecaptcha,\r\n ValidationObserver,\r\n ValidationProvider,\r\n MeetAgents,\r\n ClaimsNumbers,\r\n RequiredFieldsRow,\r\n },\r\n directives: { mask },\r\n data() {\r\n return {\r\n submitted: false,\r\n hasCaptcha: true,\r\n captchaText: '',\r\n firstName: '',\r\n lastName: '',\r\n email: '',\r\n phone: '',\r\n memberNumber: '',\r\n policyNumber: '',\r\n subject: null,\r\n subjectDetail: null,\r\n message: '',\r\n emailCopy: false,\r\n countyOptions: null,\r\n cancelEffectiveDateMenu: false,\r\n cancelEffectiveDate: null,\r\n subjectOptions: [\r\n 'Quote',\r\n 'Policy',\r\n 'Billing',\r\n 'Claims',\r\n 'Payments',\r\n 'Marketing',\r\n 'Technical',\r\n 'Other',\r\n ],\r\n billingOptions: [\r\n 'Address Change',\r\n 'E-bill/Paperless Billing',\r\n 'Payments',\r\n 'Premiums',\r\n 'Recurring Payments',\r\n 'Other',\r\n ],\r\n claimsOptions: [\r\n 'Claim Status',\r\n 'Reporting a Claim',\r\n 'Other',\r\n ],\r\n paymentsOptions: [\r\n 'E-bill/Paperless Billing',\r\n 'Recurring Payments',\r\n 'Other',\r\n ],\r\n policyOptions: [\r\n 'Address Change',\r\n 'Cancellation',\r\n 'Coverage Change',\r\n 'Paperless Notifications',\r\n 'Premiums',\r\n 'Other',\r\n ],\r\n technicalOptions: [\r\n 'Account Information',\r\n 'Logging In',\r\n 'Policy Information',\r\n 'Registering',\r\n 'Resetting Password',\r\n 'Other',\r\n ],\r\n };\r\n },\r\n watch: {\r\n subject() {\r\n this.subjectDetail = null;\r\n this.cancelEffectiveDate = null;\r\n this.$refs.obv.validate();\r\n },\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Contact Us';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/contact-us`;\r\n },\r\n googleReCaptchaKey() {\r\n return process.env.VUE_APP_GOOGLE_RECAPTCHA_KEY;\r\n },\r\n policyList() {\r\n try {\r\n return this.$store.getters['policy/accountSummary'];\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n agreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/agreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n minCancellationDate() {\r\n return this.parseDate(new Date().toISOString());\r\n },\r\n },\r\n methods: {\r\n getCountyList() {\r\n this.$store.dispatch('agentcounty/getCountyList')\r\n .then((response) => {\r\n if (response && response.data && response.data._counties) {\r\n this.countyOptions = response.data._counties;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'ContactUs.vue',\r\n methodName: 'getCountyList-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n });\r\n },\r\n getWebmasterEmail() {\r\n // Get the ContactUs email address\r\n this.$store.dispatch('app/getConfiguration', { sSection: 'Email', sTitle: 'ContactUs' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n this.webmasterMail = response;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'ContactUs.vue',\r\n methodName: 'getConfiguration-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n });\r\n },\r\n getMemberInformation() {\r\n const includedToken = this.$route.query.access_token;\r\n this.$store.dispatch('member/validateLogin', { sToken: includedToken, sTfbId: this.trackingId })\r\n .then((loginValid) => {\r\n if (loginValid) {\r\n this.memberNumber = this.$store.getters['member/memberNumber'];\r\n this.email = this.$store.getters['member/emailAddress'];\r\n this.firstName = this.$store.getters['member/memberFirstName'];\r\n this.lastName = this.$store.getters['member/memberLastName'];\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n onCaptchaSubmit() {\r\n this.hasCaptcha = true;\r\n this.$refs.invisibleRecaptcha.execute();\r\n },\r\n onVerify(response) {\r\n this.hasCaptcha = true;\r\n this.captchaText = response;\r\n // console.log(`Verify: ${response}`);\r\n },\r\n onExpired() {\r\n this.hasCaptcha = false;\r\n this.captchaText = '';\r\n this.$refs.recaptcha.reset();\r\n // console.log('Expired');\r\n },\r\n onSubmit() {\r\n if (!this.hasCaptcha || this.captchaText === '') {\r\n this.onExpired();\r\n this.$store.dispatch('app/setIsLoading', false);\r\n return;\r\n }\r\n\r\n if (this.captchaText.length > 0) {\r\n dispatch('app/setIsLoading', true);\r\n\r\n // Build the subject line\r\n let subjectText = `${DOMPurify.sanitize(this.subject)}`;\r\n if (this.subjectDetail) {\r\n subjectText += ` - ${DOMPurify.sanitize(this.subjectDetail)}`;\r\n }\r\n\r\n // Build the message text\r\n let messageText = `<table><tr><td><b>My comment is regarding:</b></td><td>${subjectText}</td></tr><tr><td colspan='2'></td></tr>`;\r\n messageText += '<tr><td colspan=\\'2\\'><b>Contact Information:</b></td></tr><tr><td><b>Name:</b></td>';\r\n messageText += `<td align='left'>${DOMPurify.sanitize(this.firstName)} ${DOMPurify.sanitize(this.lastName)}</td></tr>`;\r\n messageText += `<tr><td><b>Email:</b></td><td align='left'>${DOMPurify.sanitize(this.email)}</td></tr>`;\r\n messageText += `<tr><td><b>Phone Number:</b></td><td align='left'>${DOMPurify.sanitize(this.phoneNumber)}</td></tr>`;\r\n messageText += `<tr><td><b>Member Number:</b></td><td align='left'>${(this.memberNumber ? DOMPurify.sanitize(this.memberNumber) : '')}</td></tr>`;\r\n messageText += `<tr><td><b>Policy Number:</b></td><td align='left'>${(this.policyNumber ? DOMPurify.sanitize(this.policyNumber) : '')}</td></tr>`;\r\n\r\n if (this.agreementNumber && this.agreementNumber !== null && this.agreementNumber !== '') {\r\n messageText += `<tr><td><b>Quote Number:</b></td><td align='left'>${this.agreementNumber}</td></tr>`;\r\n }\r\n\r\n if (this.cancelEffectiveDate && this.cancelEffectiveDate !== null && this.cancelEffectiveDate !== '') {\r\n messageText += `<tr><td><b>Cancellation Effective Date:</b></td><td align='left'>${this.cancelEffectiveDate}</td></tr>`;\r\n }\r\n\r\n messageText += `<tr><td colspan='2'></td></tr><tr><td colspan='2'><b>Message:</b></td></tr><tr><td colspan='2'>${DOMPurify.sanitize(this.message)}</td></tr>`;\r\n messageText += '<tr><td colspan=\\'2\\'></td></tr></table>';\r\n\r\n // Send the message\r\n this.$store.dispatch('app/sendMail', {\r\n sBCC: '',\r\n sBody: messageText,\r\n sCC: this.emailCopy ? DOMPurify.sanitize(this.email) : '',\r\n sFrom: DOMPurify.sanitize(this.email),\r\n sSubject: `Email from ContactUs Page - ${subjectText}`,\r\n sTo: this.webmasterMail,\r\n sToken: this.captchaText,\r\n })\r\n .then((response) => {\r\n if (response && response.data) {\r\n const emailResponse = response.data;\r\n if (!emailResponse.ErrorMessage || emailResponse.ErrorMessage === '') {\r\n this.submitted = true;\r\n } else {\r\n dispatch('app/setErrorMessage', emailResponse.ErrorMessage.toString());\r\n this.onExpired();\r\n }\r\n }\r\n dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n } else {\r\n this.onExpired();\r\n }\r\n },\r\n },\r\n created() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n this.getCountyList();\r\n this.getWebmasterEmail();\r\n if (this.isLoggedIn) {\r\n this.getMemberInformation();\r\n }\r\n dispatch('app/setIsLoading', false);\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfb-contact-box {\r\n background: $white;\r\n padding: 20px;\r\n max-width: 1000px;\r\n margin-bottom: 100px;\r\n color: $tfb-darkest-blue;\r\n }\r\n\r\n .tfb-contact-card {\r\n max-width: 600px !important;\r\n min-height: 250px;\r\n margin-left: auto;\r\n margin-right: auto;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactUs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactUs.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ContactUs.vue?vue&type=template&id=97cce1ce\"\nimport script from \"./ContactUs.vue?vue&type=script&lang=js\"\nexport * from \"./ContactUs.vue?vue&type=script&lang=js\"\nimport style0 from \"./ContactUs.vue?vue&type=style&index=0&id=97cce1ce&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-smaller-container pb-10\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"my-1\"},[_c('v-col',[_c('h1',{staticClass:\"tfb-title-text-medium text-darker-blue text-center\"},[_vm._v(\"Terms & Conditions\")])])],1),_c('v-row',{staticClass:\"my-1\"},[_c('v-col',{staticClass:\"text-center text-uppercase\",attrs:{\"cols\":\"12\"}},[_vm._v(\" Please read these terms and conditions of use carefully before using this website. By using this website, you agree to these terms of use. If you do not agree to these terms of use, please do not use this website. \")])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-darker-blue text-uppercase\"},[_vm._v(\" Website Terms and Conditions of Use: \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-expansion-panels',{attrs:{\"accordion\":\"\",\"flat\":\"\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" A. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Welcome\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_c('p',[_vm._v(\" This website (The Texas Farm Bureau Insurance Companies Website) (the “Website”) is owned and operated by Texas Farm Bureau Mutual Insurance Company and its affiliated companies (“we,” “us,” or “TFBMIC”.) We provide various information, materials, and products on and through the Website (the “Services”), which are subject to certain ground rules provided in this document (the “Terms”). By accessing, using, or contributing to the Services, and in consideration of the Services we provide to you, you agree to abide by the Terms. \")]),_c('p',[_vm._v(\" TFBMIC has the right at any time to change or discontinue any aspect or feature of the Website, including, without limitation, the content, materials, products, hours of availability, and equipment needed for access or use of the Website, or these Terms. These Terms apply to all users of the Website, including visitors, agents, and other authorized users. \")])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" B. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Disclaimer of Warranty; Limitation of Liability\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_c('ol',[_c('li',[_vm._v(\" THIS WEBSITE AND THE SERVICES INCLUDED ON THE WEBSITE ARE PROVIDED ON AN “AS IS” AND “AS AVAILABLE” BASIS WITHOUT ANY WARRANTIES OF ANY KIND. TFBMIC, TO THE FULLEST EXTENT PERMITTED BY LAW, DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR ANY PARTICULAR PURPOSE, AND NON-INFRINGEMENT. TFBMIC DOES NOT WARRANT THAT THIS WEBSITE AND ITS SERVER OR ANY LINKED SITES ARE FREE OF COMPUTER VIRUSES OR OTHER HARMFUL COMPONENTS. TFBMIC AND ITS RESPECTIVE EMPLOYEES, AGENTS, THIRD PARTY CONTENT PROVIDERS AND LICENSORS DO NOT WARRANT THAT THE WEBSITE WILL BE UNINTERRUPTED OR ERROR FREE; NOR DOES IT MAKE ANY WARRANTY AS TO THE RESULTS THAT MAY BE OBTAINED FROM USE OF THE WEBSITE, OR AS TO THE ACCURACY, COMPLETENESS, OR RELIABILITY OF ANY INFORMATION, SERVICE OR MERCHANDISE PROVIDED THROUGH THE WEBSITE. IF YOUR USE OF THE WEBSITE OR ANY MATERIAL RESULTS IN THE NEED FOR SERVICING OR REPLACING EQUIPMENT, SOFTWARE OR DATA, TFBMIC IS NOT RESPONSIBLE FOR THOSE COSTS. YOU EXPRESSLY AGREE THAT USE OF THE WEBSITE IS AT YOUR SOLE RISK. \")]),_c('li',[_vm._v(\" IN NO EVENT WILL TFBMIC, OR ANY PERSON OR ENTITY INVOLVED IN CREATING, PRODUCING OR DISTRIBUTING THE WEBSITE OR THE CONTENT INCLUDED THEREIN, BE LIABLE IN CONTRACT, IN TORT (INCLUDING FOR ITS OWN NEGLIGENCE) OR UNDER ANY OTHER LEGAL THEORY (INCLUDING STRICT LIABILITY) FOR ANY DAMAGES, INCLUDING, WITHOUT LIMITATION, DIRECT, INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, CONSEQUENTIAL OR SIMILAR DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST PROFITS OR REVENUES, LOSS OF USE OR SIMILAR ECONOMIC LOSS, ARISING OUT OF THE USE OF OR INABILITY TO USE THE WEBSITE. YOU HEREBY ACKNOWLEDGE THAT THE PROVISIONS OF THIS SECTION SHALL APPLY TO ALL USE OF AND CONTENT ON THE WEBSITE. \"),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" APPLICABLE LAW MAY NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY OR INCIDENTAL OR CONSEQUENTIAL DAMAGES, IN WHICH EVENT THE ABOVE LIMITATION OR EXCLUSION MAY NOT BE APPLICABLE. HOWEVER, IN NO EVENT SHALL TFBMIC’S TOTAL LIABILITY TO YOU FOR ALL DAMAGES, LOSSES AND CAUSES OF ACTION WHETHER IN CONTRACT, TORT (INCLUDING ITS OWN NEGLIGENCE) OR UNDER ANY OTHER LEGAL THEORY (INCLUDING STRICT LIABILITY) EXCEED THE AMOUNT PAID BY YOU, IF ANY, FOR ACCESSING AND/OR USING THIS WEBSITE. \")])]),_c('li',[_vm._v(\" THE ABOVE DISCLAIMER OF LIABILITY APPLIES TO ANY DAMAGES OR INJURY CAUSED BY ANY FAILURE OF PERFORMANCE, ERROR, OMISSION, INACCURACY, INTERRUPTION, DELETION, DEFECT, DELAY IN OPERATION OR TRANSMISSION, COMPUTER VIRUS, COMMUNICATION LINE FAILURE, THEFT OR DESTRUCTION OR UNAUTHORIZED ACCESS TO, ALTERATION OF, OR USE OF THIS WEBSITE, WHETHER FOR BREACH OF CONTRACT, TORTIOUS BEHAVIOR (INCLUDING STRICT LIABILITY), NEGLIGENCE, OR UNDER ANY OTHER CAUSE OF ACTION. YOU SPECIFICALLY ACKNOWLEDGE THAT TFBMIC IS NOT LIABLE FOR THE DEFAMATORY, OFFENSIVE, OR ILLEGAL CONDUCT OF OTHER USERS OR THIRD-PARTIES AND THAT THE RISK OF INJURY FROM THE FOREGOING RESTS ENTIRELY WITH YOU. \")])])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" C. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Secure Access\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_vm._v(\" In order to access the secure pages of the Website, including online payment and policyholder information screens, you will be required to register and log in by providing certain personal identifiable information, including your policy number, your county membership number, your email address, your user Id, and your password. After you complete the registration process, you are an “authorized user” of the Website. In addition to the ability to access non-secure areas of the Website, authorized users are also able to maintain a Website account, make online payments, and retrieve policyholder information through the Website. Authorized users should contact the Website webmaster at \"),_c('a',{attrs:{\"href\":\"mailto:webmaster@txfb-ins.com\"}},[_vm._v(\"webmaster@txfb-ins.com\")]),_vm._v(\" for Website account questions and similar Website-related matters. \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" D. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Website Claim Reporting\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_vm._v(\" The Website may provide you the opportunity to report auto and/or property claims by entering and submitting information to TFBMIC via the Website. In order to properly submit a claim through the Website, you will be required to enter certain personal identifiable information about the TFBMIC insured and any other parties involved in the claim. The accuracy of any information you submit is your responsibility. We are not responsible for any inaccuracies in information submitted to us through the Website. However, we will take steps to safeguard any information provided to us through the Website as set forth in our \"),_c('router-link',{attrs:{\"to\":{ name: 'privacy'},\"hreflang\":\"en-us\"}},[_vm._v(\"Privacy Notice\")]),_vm._v(\". \")],1)],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" E. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Website Auto Quotes\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_vm._v(\" The Website may also provide you the opportunity to complete an automobile insurance rate quote. While we have taken every precaution to ensure accurate quotes, we ask that you keep in mind the following while completing your quote: (1) we do not write policies for applicants who reside outside the State of Texas, (2) we give quotes for private passenger automobiles only (passenger cars, vans, sports utility vehicles and light trucks), (3) your quote will be based on the accuracy of the answers that your provide to us, (4) we do not give quotes online for motorcycles, mopeds or recreational vehicles, (5) online rate quotes are limited to 4 vehicles and 4 drivers – if you have more than 4 vehicles to insure, please visit with your agent to ensure that we are providing you the best possible rate. We do our very best to accommodate all customers; however, we are unable to provide online quotes for all situations. If we find that we are unable to provide a quote for your particular situation, we will provide you a way to contact an agent in your area regarding your free rate quote. All applications for coverage are subject to final underwriting. \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" F. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Security Policy\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_vm._v(\" You acknowledge and agree that by providing TFBMIC with any personal or confidential user information, you consent to the transmission of such personal or confidential user information through the public Internet, and understand that there are risks that this information could be viewed by other parties. You agree to adhere to procedures that we may establish to enhance the safety and confidentiality of transmissions of personal data over the Internet. \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" G. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Personal Information\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_vm._v(\" Industry-standard efforts are used to safeguard the confidentiality of all information, regardless of whether it identifies you or not. This security includes use of firewalls, secure socket layers and encryption. Your log in information, including your email address and password, and your billing contact information (collectively your “Personal Information”) are protected from disclosure according to our \"),_c('router-link',{attrs:{\"to\":{ name: 'privacy'},\"hreflang\":\"en-us\"}},[_vm._v(\"Privacy Notice\")]),_vm._v(\", which we encourage you to read. You should also take steps to protect the security of your Personal Information. For example, it is your responsibility to protect your password. Do not share your password with any third parties. \")],1)],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" H. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Community Information Sharing\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_vm._v(\" This Website may allow you to share, discuss, and discover information and ideas. We do not verify all information shared by those commenting. The comments, opinions, and statements made do not necessarily reflect the views, policies, or practices of TFBMIC and are the responsibility of those individuals who created the information. Any information posted is public, and should be courteous, relevant, on topic, and safe. Do not post or share obscene or otherwise objectionable material. Keep your comments relevant to the area or topic where they are placed. Do not post links to sites that contain viruses or malicious software. Any information you post on the Website may be reproduced by TFBMIC for business purposes. TFBMIC has the permanent right to use your comments, which could include using, distributing, republishing, reproducing, changing, or displaying your comments on this Website or in any other form or forum. \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" I. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Copyright\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_vm._v(\" The entire content included on this Website, including but not limited to text, graphics, or code is copyrighted as a collective work under the laws of the United States and other copyright laws, and is the property of TFBMIC. Any reproduction, distribution, display or transmission of the content of the Website is strictly prohibited, unless authorized in writing by TFBMIC. You further agree not to change or delete any proprietary notices from materials downloaded from the Website. \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" J. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Copyright Infringement/Complaints\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_vm._v(\" Pursuant to Title 17, United States Code, Section 512(c)(2), notifications of claimed copyright infringement should be sent to Service Provider’s Designated Agent. If you are a copyright owner and you believe that your copyrighted materials have been used in a way that constitutes copyright infringement, please see our \"),_c('router-link',{attrs:{\"to\":{ name: 'dmca'},\"hreflang\":\"en-us\"}},[_vm._v(\"DMCA Notice Policy\")]),_vm._v(\". \")],1)],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-expansion-panels',{attrs:{\"accordion\":\"\",\"flat\":\"\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" K. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Marks\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_vm._v(\" All trademarks, service marks, trade names, and/or trade dress on the Website is owned or licensed by TFBMIC. Unauthorized use of any trademark, service mark, or logo appearing on the Website may be a violation of federal and/or state trademark laws. \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" L. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Restrictions on Use\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_c('ol',[_c('li',[_vm._v(\" You shall use the Website for lawful purposes only. You shall not transmit through the Website any material that (i) violates or infringes in any way upon the rights of others, (ii) is unlawful, threatening, abusive, defamatory, invasive of privacy or publicity rights, vulgar, obscene, profane or otherwise objectionable, or (iii) encourages conduct that would constitute a criminal offense, gives rise to civil liability or otherwise violates any law. Any conduct by you that in TFBMIC’s discretion restricts or inhibits any other user from using or enjoying the Website will not be permitted. \")]),_c('li',[_vm._v(\" As stated above, the Website contains copyrighted material, trademarks and other proprietary information, including, without limitation, text, software, photos, video, graphics, music and sound, and the contents of the Website are copyrighted under the United States copyright laws. You may not modify, publish, transmit, display, participate in the transfer or sale, create derivative works, or in any way exploit, any of the content, in whole or in part. No copying, redistribution, retransmission, publication, or commercial exploitation of downloaded material will be permitted (except as set forth in paragraph F. above) without the express written permission of TFBMIC. In the event of any permitted copying, redistribution, or publication of copyrighted material, no changes in or deletion of author attribution, trademark legend or copyright notice shall be made. You acknowledge that you do not acquire any ownership rights by downloading copyrighted material. \")]),_c('li',[_vm._v(\" The foregoing provisions of this Section are for the benefit of TFBMIC, its affiliates, and its third party content providers and licensors and each shall have the right to assert and enforce such provisions directly or on its own behalf. \")])])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" M. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"User Representations and Warranties\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_vm._v(\" You represent and warrant that if you are an authorized user, you will use only your log in information to access any secure page of the Website. You further represent and warrant that you will not use the log in information of any other authorized user to access any secure page of the Website. \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" N. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Monitoring\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_vm._v(\" TFBMIC shall have the right, but not the obligation, to monitor the content of the Website to determine compliance with these Terms and any operating rules established by TFBMIC and to satisfy any law, regulation or authorized government request. TFBMIC shall have the right in its sole discretion to edit, add to or remove any material submitted to or posted on the Website. TFBMIC assumes no responsibility for the deletion of or failure to store electronic-mail messages or other information submitted to the Website. \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" O. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Violations of Rules, Regulations and these Terms\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_vm._v(\" We reserve the right to seek all remedies available at law and in equity for violations of the rules and regulations set forth herein, including the right to block access from a particular Internet address to this Website. If you or an authorized user violates these Terms, we may, in our discretion, restrict or block your or an authorized user’s access to this Website or your or the authorized user’s account. \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" P. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Indemnification\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_vm._v(\" You agree to defend, indemnify and hold harmless TFBMIC and its affiliates, their respective directors, officers, employees, agents, successors and assigns from and against any and all claims, actions, demands, damages, costs, liabilities, losses and expenses (including reasonable attorneys’ fees) arising out of your use of the Website, your violation of these Terms or any applicable law, statute, ordinance or regulation, or your infringement of any intellectual property or other right of any person or entity. \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" Q. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Changed Terms\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_vm._v(\" TFBMIC has the right at any time to change or modify these Terms, or any part thereof, or to impose new conditions. Such changes, modifications, additions or deletions shall be effective immediately upon notice thereof, which may be given by any means including, without limitation, posting on the Website, or by electronic or conventional mail, or by any other means. Any use of the Website by you after such notice shall be deemed to constitute acceptance of such changes, modifications, additions or deletions. \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" R. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Linked Internet Sites\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_vm._v(\" ANY LINKS IN THIS WEBSITE WILL LET YOU LEAVE OUR WEBSITE. THE LINKED SITES MAY NOT BE UNDER OUR CONTROL, AND THE CONTENT AVAILABLE ON THE INTERNET SITES LINKED TO THIS WEBSITE MAY NOT NECESSARILY REFLECT OUR OPINION. WE ARE PROVIDING THESE LINKS TO OTHER INTERNET SITES AS A CONVENIENCE TO YOU, AND ACCESS TO ANY OTHER INTERNET SITES LINKED TO THIS WEBSITE IS AT YOUR OWN RISK. THE INCLUSION OF ANY LINK DOES NOT IMPLY THAT WE RECOMMEND OR ENDORSE THE LINKED SITE, OR MAKE ANY REPRESENTATIONS AS TO THE VERACITY OR RELIABILITY OF THE INFORMATION OR SERVICES PROVIDED IN THE LINKED SITE. \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" S. \"),_c('span',{staticClass:\"text-blue pl-1\"},[_vm._v(\"Governing Law; General Provisions\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_vm._v(\" These Terms shall be construed in accordance with the law of the state of Texas, without regard to any conflict of laws rules, and you hereby consent to exclusive jurisdiction and venue of any federal or state court located in Waco, McLennan County, Texas for any cause of action, claim, liability, demand, or dispute arising out of your use of this Website or its Terms. We operate this Website from our offices within the United States of America. We make no representation that the information in this Website is appropriate or available for use in other locations, and access to this Website from territories where the contents of this Website may be illegal is prohibited. Those who choose to access this Website from other locations do so on their own initiative and are responsible for compliance with applicable local laws. No waiver by either party of any breach or default hereunder shall be deemed to be a waiver of any preceding or subsequent breach or default. The headings used herein are for convenience only and shall not be given any legal import. \")])],1)],1)],1)],1),_c('v-row',{staticClass:\"my-1\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-darker-blue text-uppercase\"},[_vm._v(\" J.D. Power Disclaimer: \")]),_vm._v(\" Texas Farm Bureau received the highest score in Texas in the J.D. Power 2012-2022 and 2024 U.S. Auto Insurance Studies of customers’ satisfaction with their auto insurance provider. Visit \"),_c('a',{attrs:{\"href\":\"https://jdpower.com/awards\",\"hreflang\":\"en-us\",\"target\":\"_blank\",\"rel\":\"noopener\",\"aria-label\":\"jdpower.com/awards (opens in new tab)\"}},[_vm._v(\"jdpower.com/awards\")]),_vm._v(\" for more details. \")])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-darker-blue text-uppercase\"},[_vm._v(\" Conclusion: \")]),_vm._v(\" If you have any questions or comments concerning our privacy standards and procedures, please write us at \"+_vm._s(_vm.poBoxAddress)+\". Our functional regulator is the Texas Department of Insurance. If we cannot resolve your concerns or answer your questions, feel free to contact our regulator. \")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-smaller-container pb-10\">\r\n <v-row class=\"my-1\">\r\n <v-col>\r\n <h1 class=\"tfb-title-text-medium text-darker-blue text-center\">Terms & Conditions</h1>\r\n </v-col>\r\n </v-row>\r\n <v-row class=\"my-1\">\r\n <v-col cols=\"12\"\r\n class=\"text-center text-uppercase\">\r\n Please read these terms and conditions of use carefully before using this website.\r\n By using this website, you agree to these terms of use. If you do not agree to these\r\n terms of use, please do not use this website.\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-small text-darker-blue text-uppercase\">\r\n Website Terms and Conditions of Use:\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"6\">\r\n <v-expansion-panels accordion\r\n flat>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n A. <span class=\"text-blue pl-1\">Welcome</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n <p>\r\n This website (The Texas Farm Bureau Insurance Companies Website) (the “Website”)\r\n is owned and operated by Texas Farm Bureau Mutual Insurance Company and its\r\n affiliated companies (“we,” “us,” or “TFBMIC”.) We provide various information,\r\n materials, and products on and through the Website (the “Services”), which are\r\n subject to certain ground rules provided in this document (the “Terms”). By\r\n accessing, using, or contributing to the Services, and in consideration of the\r\n Services we provide to you, you agree to abide by the Terms.\r\n </p>\r\n <p>\r\n TFBMIC has the right at any time to change or discontinue any aspect or feature\r\n of the Website, including, without limitation, the content, materials, products,\r\n hours of availability, and equipment needed for access or use of the Website, or\r\n these Terms. These Terms apply to all users of the Website, including visitors,\r\n agents, and other authorized users.\r\n </p>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n B. <span class=\"text-blue pl-1\">Disclaimer of Warranty; Limitation of Liability</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n <ol>\r\n <li>\r\n THIS WEBSITE AND THE SERVICES INCLUDED ON THE WEBSITE ARE PROVIDED ON AN\r\n “AS IS” AND “AS AVAILABLE” BASIS WITHOUT ANY WARRANTIES OF ANY KIND. TFBMIC, TO THE\r\n FULLEST EXTENT PERMITTED BY LAW, DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED,\r\n INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR ANY PARTICULAR\r\n PURPOSE, AND NON-INFRINGEMENT. TFBMIC DOES NOT WARRANT THAT THIS WEBSITE AND ITS\r\n SERVER OR ANY LINKED SITES ARE FREE OF COMPUTER VIRUSES OR OTHER HARMFUL\r\n COMPONENTS. TFBMIC AND ITS RESPECTIVE EMPLOYEES, AGENTS, THIRD PARTY CONTENT\r\n PROVIDERS AND LICENSORS DO NOT WARRANT THAT THE WEBSITE WILL BE UNINTERRUPTED\r\n OR ERROR FREE; NOR DOES IT MAKE ANY WARRANTY AS TO THE RESULTS THAT MAY BE\r\n OBTAINED FROM USE OF THE WEBSITE, OR AS TO THE ACCURACY, COMPLETENESS, OR RELIABILITY OF\r\n ANY INFORMATION, SERVICE OR MERCHANDISE PROVIDED THROUGH THE WEBSITE. IF YOUR\r\n USE OF THE WEBSITE OR ANY MATERIAL RESULTS IN THE NEED FOR SERVICING OR REPLACING\r\n EQUIPMENT, SOFTWARE OR DATA, TFBMIC IS NOT RESPONSIBLE FOR THOSE COSTS. YOU\r\n EXPRESSLY AGREE THAT USE OF THE WEBSITE IS AT YOUR SOLE RISK.\r\n </li>\r\n <li>\r\n IN NO EVENT WILL TFBMIC, OR ANY PERSON OR ENTITY INVOLVED IN CREATING, PRODUCING\r\n OR DISTRIBUTING THE WEBSITE OR THE CONTENT INCLUDED THEREIN, BE LIABLE IN\r\n CONTRACT, IN TORT (INCLUDING FOR ITS OWN NEGLIGENCE) OR UNDER ANY OTHER LEGAL THEORY\r\n (INCLUDING STRICT LIABILITY) FOR ANY DAMAGES, INCLUDING, WITHOUT LIMITATION,\r\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, CONSEQUENTIAL OR SIMILAR DAMAGES,\r\n INCLUDING, WITHOUT LIMITATION, LOST PROFITS OR REVENUES, LOSS OF USE OR SIMILAR\r\n ECONOMIC LOSS, ARISING OUT OF THE USE OF OR INABILITY TO USE THE WEBSITE. YOU\r\n HEREBY ACKNOWLEDGE THAT THE PROVISIONS OF THIS SECTION SHALL APPLY TO ALL USE OF AND\r\n CONTENT ON THE WEBSITE.\r\n <span class=\"font-weight-bold\">\r\n APPLICABLE LAW MAY NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY OR\r\n INCIDENTAL OR CONSEQUENTIAL DAMAGES, IN WHICH EVENT THE ABOVE LIMITATION\r\n OR EXCLUSION MAY NOT BE APPLICABLE. HOWEVER, IN NO EVENT SHALL TFBMIC’S\r\n TOTAL LIABILITY TO YOU FOR ALL DAMAGES, LOSSES AND CAUSES OF ACTION\r\n WHETHER IN CONTRACT, TORT (INCLUDING ITS OWN NEGLIGENCE) OR UNDER ANY\r\n OTHER LEGAL THEORY (INCLUDING STRICT LIABILITY) EXCEED THE AMOUNT PAID\r\n BY YOU, IF ANY, FOR ACCESSING AND/OR USING THIS WEBSITE.\r\n </span>\r\n </li>\r\n <li>\r\n THE ABOVE DISCLAIMER OF LIABILITY APPLIES TO ANY DAMAGES OR INJURY CAUSED BY ANY\r\n FAILURE OF PERFORMANCE, ERROR, OMISSION, INACCURACY, INTERRUPTION, DELETION,\r\n DEFECT, DELAY IN OPERATION OR TRANSMISSION, COMPUTER VIRUS, COMMUNICATION LINE FAILURE,\r\n THEFT OR DESTRUCTION OR UNAUTHORIZED ACCESS TO, ALTERATION OF, OR USE OF THIS\r\n WEBSITE, WHETHER FOR BREACH OF CONTRACT, TORTIOUS BEHAVIOR (INCLUDING STRICT\r\n LIABILITY), NEGLIGENCE, OR UNDER ANY OTHER CAUSE OF ACTION. YOU SPECIFICALLY\r\n ACKNOWLEDGE THAT TFBMIC IS NOT LIABLE FOR THE DEFAMATORY, OFFENSIVE, OR ILLEGAL\r\n CONDUCT OF OTHER USERS OR THIRD-PARTIES AND THAT THE RISK OF INJURY FROM THE\r\n FOREGOING RESTS ENTIRELY WITH YOU.\r\n </li>\r\n </ol>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n C. <span class=\"text-blue pl-1\">Secure Access</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n In order to access the secure pages of the Website, including online payment and\r\n policyholder information screens, you will be required to register and log in by\r\n providing certain personal identifiable information, including your policy number,\r\n your county membership number, your email address, your user Id, and your password.\r\n After you complete the registration process, you are an “authorized user” of the\r\n Website. In addition to the ability to access non-secure areas of the Website,\r\n authorized users are also able to maintain a Website account, make online payments,\r\n and retrieve policyholder information through the Website. Authorized users should\r\n contact the Website webmaster at\r\n <a href=\"mailto:webmaster@txfb-ins.com\">webmaster@txfb-ins.com</a> for Website\r\n account questions and similar Website-related matters.\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n D. <span class=\"text-blue pl-1\">Website Claim Reporting</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n The Website may provide you the opportunity to report auto and/or property claims\r\n by entering and submitting information to TFBMIC via the Website. In order to\r\n properly submit a claim through the Website, you will be required to enter certain\r\n personal identifiable information about the TFBMIC insured and any other parties\r\n involved in the claim. The accuracy of any information you submit is your\r\n responsibility. We are not responsible for any inaccuracies in information\r\n submitted to us through the Website. However, we will take steps to safeguard\r\n any information provided to us through the Website as set forth in our\r\n <router-link :to=\"{ name: 'privacy'}\"\r\n hreflang=\"en-us\">Privacy Notice</router-link>.\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n E. <span class=\"text-blue pl-1\">Website Auto Quotes</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n The Website may also provide you the opportunity to complete an automobile\r\n insurance rate quote. While we have taken every precaution to ensure accurate\r\n quotes, we ask that you keep in mind the following while completing your quote:\r\n (1) we do not write policies for applicants who reside outside the State of\r\n Texas, (2) we give quotes for private passenger automobiles only (passenger\r\n cars, vans, sports utility vehicles and light trucks), (3) your quote will be\r\n based on the accuracy of the answers that your provide to us, (4) we do not give\r\n quotes online for motorcycles, mopeds or recreational vehicles, (5) online rate\r\n quotes are limited to 4 vehicles and 4 drivers – if you have more than 4 vehicles\r\n to insure, please visit with your agent to ensure that we are providing you the\r\n best possible rate. We do our very best to accommodate all customers; however,\r\n we are unable to provide online quotes for all situations. If we find that we are\r\n unable to provide a quote for your particular situation, we will provide you a\r\n way to contact an agent in your area regarding your free rate quote. All\r\n applications for coverage are subject to final underwriting.\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n F. <span class=\"text-blue pl-1\">Security Policy</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n You acknowledge and agree that by providing TFBMIC with any personal or confidential\r\n user information, you consent to the transmission of such personal or confidential\r\n user information through the public Internet, and understand that there are risks\r\n that this information could be viewed by other parties. You agree to adhere to procedures\r\n that we may establish to enhance the safety and confidentiality of transmissions of\r\n personal data over the Internet.\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n G. <span class=\"text-blue pl-1\">Personal Information</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n Industry-standard efforts are used to safeguard the confidentiality of all\r\n information, regardless of whether it identifies you or not. This security includes\r\n use of firewalls, secure socket layers and encryption. Your log in information,\r\n including your email address and password, and your billing contact information\r\n (collectively your “Personal Information”) are protected from disclosure according\r\n to our\r\n <router-link :to=\"{ name: 'privacy'}\"\r\n hreflang=\"en-us\">Privacy Notice</router-link>,\r\n which we encourage you to read. You should also take steps to protect the\r\n security of your Personal Information. For example, it is your responsibility\r\n to protect your password. Do not share your password with any third parties.\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n H. <span class=\"text-blue pl-1\">Community Information Sharing</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n This Website may allow you to share, discuss, and discover information and ideas.\r\n We do not verify all information shared by those commenting. The comments, opinions,\r\n and statements made do not necessarily reflect the views, policies, or practices of\r\n TFBMIC and are the responsibility of those individuals who created the information.\r\n Any information posted is public, and should be courteous, relevant, on topic, and\r\n safe. Do not post or share obscene or otherwise objectionable material. Keep your\r\n comments relevant to the area or topic where they are placed. Do not post links to\r\n sites that contain viruses or malicious software. Any information you post on the\r\n Website may be reproduced by TFBMIC for business purposes. TFBMIC has the permanent\r\n right to use your comments, which could include using, distributing, republishing,\r\n reproducing, changing, or displaying your comments on this Website or in any other\r\n form or forum.\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n I. <span class=\"text-blue pl-1\">Copyright</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n The entire content included on this Website, including but not limited to text,\r\n graphics, or code is copyrighted as a collective work under the laws of the United\r\n States and other copyright laws, and is the property of TFBMIC. Any reproduction,\r\n distribution, display or transmission of the content of the Website is strictly\r\n prohibited, unless authorized in writing by TFBMIC. You further agree not to change\r\n or delete any proprietary notices from materials downloaded from the Website.\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n J. <span class=\"text-blue pl-1\">Copyright Infringement/Complaints</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n Pursuant to Title 17, United States Code, Section 512(c)(2), notifications of\r\n claimed copyright infringement should be sent to Service Provider’s Designated Agent. If\r\n you are a copyright owner and you believe that your copyrighted materials have been\r\n used in a way that constitutes copyright infringement, please see our\r\n <router-link :to=\"{ name: 'dmca'}\"\r\n hreflang=\"en-us\">DMCA Notice Policy</router-link>.\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n </v-expansion-panels>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\">\r\n <v-expansion-panels accordion\r\n flat>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n K. <span class=\"text-blue pl-1\">Marks</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n All trademarks, service marks, trade names, and/or trade dress on the Website is\r\n owned or licensed by TFBMIC. Unauthorized use of any trademark, service mark, or logo\r\n appearing on the Website may be a violation of federal and/or state trademark laws.\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n L. <span class=\"text-blue pl-1\">Restrictions on Use</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n <ol>\r\n <li>\r\n You shall use the Website for lawful purposes only. You shall not transmit\r\n through the Website any material that (i) violates or infringes in any way upon\r\n the rights of others, (ii) is unlawful, threatening, abusive, defamatory,\r\n invasive of privacy or publicity rights, vulgar, obscene, profane or otherwise\r\n objectionable, or (iii) encourages conduct that would constitute a criminal\r\n offense, gives rise to civil liability or otherwise violates any law. Any\r\n conduct by you that in TFBMIC’s discretion restricts or inhibits any other\r\n user from using or enjoying the Website will not be permitted.\r\n </li>\r\n <li>\r\n As stated above, the Website contains copyrighted material, trademarks and\r\n other proprietary information, including, without limitation, text, software, photos,\r\n video, graphics, music and sound, and the contents of the Website are\r\n copyrighted under the United States copyright laws. You may not modify, publish, transmit,\r\n display, participate in the transfer or sale, create derivative works, or in any\r\n way exploit, any of the content, in whole or in part. No copying,\r\n redistribution, retransmission, publication, or commercial exploitation of downloaded material\r\n will be permitted (except as set forth in paragraph F. above) without the\r\n express written permission of TFBMIC. In the event of any permitted copying,\r\n redistribution, or publication of copyrighted material, no changes in or\r\n deletion of author attribution, trademark legend or copyright notice shall be made. You\r\n acknowledge that you do not acquire any ownership rights by downloading\r\n copyrighted material.\r\n </li>\r\n <li>\r\n The foregoing provisions of this Section are for the benefit of TFBMIC, its\r\n affiliates, and its third party content providers and licensors and each shall\r\n have the right to assert and enforce such provisions directly or on its own\r\n behalf.\r\n </li>\r\n </ol>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n M. <span class=\"text-blue pl-1\">User Representations and Warranties</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n You represent and warrant that if you are an authorized user, you will use only your\r\n log in information to access any secure page of the Website. You further represent\r\n and warrant that you will not use the log in information of any other authorized user to\r\n access any secure page of the Website.\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n N. <span class=\"text-blue pl-1\">Monitoring</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n TFBMIC shall have the right, but not the obligation, to monitor the content of the\r\n Website to determine compliance with these Terms and any operating rules established\r\n by TFBMIC and to satisfy any law, regulation or authorized government request.\r\n TFBMIC shall have the right in its sole discretion to edit, add to or remove any\r\n material submitted to or posted on the Website. TFBMIC assumes no responsibility\r\n for the deletion of or failure to store electronic-mail messages or other\r\n information submitted to the Website.\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n O. <span class=\"text-blue pl-1\">Violations of Rules, Regulations and these Terms</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n We reserve the right to seek all remedies available at law and in equity for\r\n violations of the rules and regulations set forth herein, including the right to\r\n block access from a particular Internet address to this Website. If you or an\r\n authorized user violates these Terms, we may, in our discretion, restrict or\r\n block your or an authorized user’s access to this Website or your or the authorized\r\n user’s account.\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n P. <span class=\"text-blue pl-1\">Indemnification</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n You agree to defend, indemnify and hold harmless TFBMIC and its affiliates, their\r\n respective directors, officers, employees, agents, successors and assigns from and\r\n against any and all claims, actions, demands, damages, costs, liabilities, losses\r\n and expenses (including reasonable attorneys’ fees) arising out of your use of the\r\n Website, your violation of these Terms or any applicable law, statute, ordinance or\r\n regulation, or your infringement of any intellectual property or other right of any\r\n person or entity.\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n Q. <span class=\"text-blue pl-1\">Changed Terms</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n TFBMIC has the right at any time to change or modify these Terms, or any part\r\n thereof, or to impose new conditions. Such changes, modifications, additions or\r\n deletions shall be effective immediately upon notice thereof, which may be given by\r\n any means including, without limitation, posting on the Website, or by electronic or\r\n conventional mail, or by any other means. Any use of the Website by you after such\r\n notice shall be deemed to constitute acceptance of such changes, modifications,\r\n additions or deletions.\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n R. <span class=\"text-blue pl-1\">Linked Internet Sites</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n ANY LINKS IN THIS WEBSITE WILL LET YOU LEAVE OUR WEBSITE. THE LINKED SITES MAY NOT\r\n BE UNDER OUR CONTROL, AND THE CONTENT AVAILABLE ON THE INTERNET SITES LINKED TO THIS\r\n WEBSITE MAY NOT NECESSARILY REFLECT OUR OPINION. WE ARE PROVIDING THESE LINKS TO\r\n OTHER INTERNET SITES AS A CONVENIENCE TO YOU, AND ACCESS TO ANY OTHER INTERNET SITES\r\n LINKED TO THIS WEBSITE IS AT YOUR OWN RISK. THE INCLUSION OF ANY LINK DOES NOT IMPLY\r\n THAT WE RECOMMEND OR ENDORSE THE LINKED SITE, OR MAKE ANY REPRESENTATIONS AS TO THE\r\n VERACITY OR RELIABILITY OF THE INFORMATION OR SERVICES PROVIDED IN THE LINKED SITE.\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header>\r\n S. <span class=\"text-blue pl-1\">Governing Law; General Provisions</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n These Terms shall be construed in accordance with the law of the state of Texas,\r\n without regard to any conflict of laws rules, and you hereby consent to exclusive\r\n jurisdiction and venue of any federal or state court located in Waco, McLennan\r\n County, Texas for any cause of action, claim, liability, demand, or dispute arising\r\n out of your use of this Website or its Terms. We operate this Website from our\r\n offices within the United States of America. We make no representation that the\r\n information in this Website is appropriate or available for use in other locations,\r\n and access to this Website from territories where the contents of this Website may\r\n be illegal is prohibited. Those who choose to access this Website from other locations\r\n do so on their own initiative and are responsible for compliance with applicable\r\n local laws. No waiver by either party of any breach or default hereunder shall be\r\n deemed to be a waiver of any preceding or subsequent breach or default. The\r\n headings used herein are for convenience only and shall not be given any legal\r\n import.\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n </v-expansion-panels>\r\n </v-col>\r\n </v-row>\r\n <v-row class=\"my-1\">\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-small text-darker-blue text-uppercase\">\r\n J.D. Power Disclaimer:\r\n </h2>\r\n Texas Farm Bureau received the highest score in Texas in the J.D. Power 2012-2022 and 2024 U.S. Auto Insurance Studies of customers’ satisfaction with their auto insurance provider. Visit\r\n <a href=\"https://jdpower.com/awards\"\r\n hreflang=\"en-us\"\r\n target=\"_blank\"\r\n rel=\"noopener\"\r\n aria-label=\"jdpower.com/awards (opens in new tab)\">jdpower.com/awards</a>\r\n for more details.\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-small text-darker-blue text-uppercase\">\r\n Conclusion:\r\n </h2>\r\n If you have any questions or comments concerning our privacy standards and procedures,\r\n please write us at {{poBoxAddress}}. Our functional\r\n regulator is the Texas Department of Insurance. If we cannot resolve your concerns\r\n or answer your questions, feel free to contact our regulator.\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n\r\n export default {\r\n name: 'TermsConditions',\r\n mixins: [tfbDataMixin, tfbMetaMixin],\r\n computed: {\r\n metaDescription() {\r\n return 'With Texas Farm Bureau Insurance, your information is secure. Review our website terms and conditions.';\r\n },\r\n metaPageTitle() {\r\n return 'Terms & Conditions';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/terms-conditions`;\r\n },\r\n },\r\n mounted() {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n },\r\n created() {\r\n this.$store.dispatch('app/setIsLoading', true);\r\n },\r\n };\r\n</script>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TermsConditions.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TermsConditions.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TermsConditions.vue?vue&type=template&id=0d47de42\"\nimport script from \"./TermsConditions.vue?vue&type=script&lang=js\"\nexport * from \"./TermsConditions.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-smaller-container pb-10\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"my-1\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h1',{staticClass:\"tfb-title-text-medium text-darker-blue text-center\"},[_vm._v(\"A Joint Privacy Notice\")])])],1),_c('v-row',{staticClass:\"my-1\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"On behalf of:\")]),_vm._v(\" Texas Farm Bureau Mutual Insurance Company, Texas Farm Bureau Premium Finance Company, Texas Farm Bureau Underwriters, Texas Farm Bureau Casualty Insurance Company, and Farm Bureau County Mutual Insurance Company of Texas. When you see the words \"),_c('span',{staticClass:\"font-italic\"},[_vm._v(\"we\")]),_vm._v(\", \"),_c('span',{staticClass:\"font-italic\"},[_vm._v(\"us\")]),_vm._v(\", or \"),_c('span',{staticClass:\"font-italic\"},[_vm._v(\"our\")]),_vm._v(\" within this \"),_c('span',{staticClass:\"font-italic\"},[_vm._v(\"Joint Privacy Notice\")]),_vm._v(\", you should understand that those words include Texas Farm Bureau Mutual Insurance Company, Texas Farm Bureau Premium Finance Company, Texas Farm Bureau Underwriters, Texas Farm Bureau Casualty Insurance Company, and Farm Bureau County Mutual Insurance Company of Texas. \")])],1),_c('v-row',{staticClass:\"my-1\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-expansion-panels',{attrs:{\"accordion\":\"\",\"flat\":\"\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"show-hide-link\"},[_c('span',{staticClass:\"text-blue\"},[_vm._v(\"Our Commitment to Safeguarding Your Privacy\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_c('p',[_vm._v(\" This \"),_c('span',{staticClass:\"font-italic\"},[_vm._v(\"Joint Privacy Notice\")]),_vm._v(\" is being provided to you to inform you of our practices and procedures regarding the sharing of \"),_c('span',{staticClass:\"font-italic\"},[_vm._v(\"nonpublic personal information\")]),_vm._v(\". Nonpublic personal information is \"),_c('span',{staticClass:\"font-italic\"},[_vm._v(\"personally identifiable financial information\")]),_vm._v(\" about you, your family, or your household that we may obtain directly from you, that we may obtain as a result of our business dealings with you, or that we may obtain from any other source. \")]),_c('p',[_vm._v(\" We do not engage in the practice of disclosing your nonpublic personal information to nonaffiliated third parties other than, as necessary, to provide quality insurance and financial services to our customers. For instance, we do not sell your name, address or telephone number to telemarketers or to direct mail solicitors. We do not engage in “list-selling,” and we do not offer your personal information to publishing houses, retailers, or coupon companies. \")]),_c('p',[_vm._v(\" During the continuation of our customer relationship with you, we will also provide you with a copy of this Joint Privacy Notice at least once during each calendar year as part of a regular mailing, such as within a billing or renewal notice or with a policy \"),_c('span',{staticClass:\"font-italic\"},[_vm._v(\"and\")]),_vm._v(\" at any time that you request in writing a copy of this Joint Privacy Notice. Further, because Federal and state laws, regulations and business practices can change at any time, we may revise this \"),_c('span',{staticClass:\"font-italic\"},[_vm._v(\"Joint Privacy Notice\")]),_vm._v(\" accordingly. Once you cease to be a policyholder, we will stop sending you annual privacy notices. \")])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"show-hide-link\"},[_c('span',{staticClass:\"text-blue\"},[_vm._v(\"Information We May Collect and Use\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_c('p',[_vm._v(\" During the course of reviewing your application for insurance coverage and deciding whether or not to underwrite the insurance policy for which you have applied, and, if we issue you a policy, during the course of providing services to you as required by the policy, we collect and evaluate information from the following sources: \")]),_c('p',[_c('ul',[_c('li',[_vm._v(\"Information we receive from you on applications or other forms;\")]),_c('li',[_vm._v(\"Information about your transactions with us, our affiliates or others;\")]),_c('li',[_vm._v(\"Information we receive from consumer reporting agencies; and\")]),_c('li',[_vm._v(\"Information we receive from a state or federal agency.\")])])]),_c('p',[_vm._v(\" It is important for us to collect and use this information to properly provide, administer, and perform services on your behalf. We could not provide optimum service to you without collecting and using this information. \")])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"show-hide-link\"},[_c('span',{staticClass:\"text-blue\"},[_vm._v(\"Information We May Disclose\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_c('p',[_vm._v(\" We regard all of your personal information as confidential. Therefore, we do not disclose any nonpublic personal information about our customers or former customers to anyone except as permitted by law. In the course of conducting our business dealings, we may disclose to other non-affiliated parties certain information we have about you. These disclosures are only made for our everyday business purposes, such as to process account transactions, maintain accounts, service accounts, respond to court orders and authorized legal investigations, and to comply with mandatory governmental data requests in accordance with applicable laws, and may include disclosures to reinsurers, administrators, service providers, consultants and regulatory or governmental authorities. Furthermore, certain disclosures of information will be made to your Farm Bureau insurance agent and any Farm Bureau personnel authorized to have access to your personal information for the purpose of administering your business and providing services to you. \")]),_c('p',[_vm._v(\" We may disclose the following categories of information to companies that perform services on our behalf or to other financial institutions with whom we have joint marketing agreements such as the Southern Farm Bureau Life Insurance Company and the Farm Bureau Bank: \")]),_c('p',[_c('ul',[_c('li',[_vm._v(\" Information we receive from you on applications or other forms, such as your name, address, social security number or County Farm Bureau membership number; \")]),_c('li',[_vm._v(\" Information about your transactions with us, our affiliates or others, such as your policy coverage, premium, loss history and payment history; and \")]),_c('li',[_vm._v(\" Information we receive from a consumer reporting agency, such as your creditworthiness and credit history. \")])])]),_c('p',[_vm._v(\" Those entities with whom we share personal information are required to maintain the confidentiality of that information. We do not authorize these parties to use or disclose your personal information for any purpose other than for the express purpose of performing work on our behalf or as required or permitted by law. \")])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"show-hide-link\"},[_c('span',{staticClass:\"text-blue\"},[_vm._v(\"How We Maintain The Confidentiality And Security Of Your Information\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_c('p',[_vm._v(\" We carefully restrict access to nonpublic personal information to our employees, our independent contractor insurance agents, our service contract providers, and our affiliates and subsidiaries. The right of our employees, our independent contractor insurance agents, our service contract providers, and our affiliates and subsidiaries to further disclose and use the information is limited by our employee handbook, agent’s manual, applicable law, and non-disclosure agreements where appropriate. We maintain physical, electronic, and procedural safeguards that comply with federal and state law to guard your nonpublic personal information. \")])])],1)],1)],1)],1),_c('v-row',{staticClass:\"my-1\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-darker-blue text-uppercase\"},[_vm._v(\" Conclusion: \")]),_vm._v(\" If you have any questions or comments concerning this \"),_c('span',{staticClass:\"font-italic\"},[_vm._v(\"Joint Privacy Notice\")]),_vm._v(\" or our privacy standards and procedures, then please write us at \"+_vm._s(_vm.poBoxAddress)+\". Our functional regulator is the Texas Department of Insurance. If we cannot resolve your concerns or answer your questions, feel free to contact our regulator. \")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-smaller-container pb-10\">\r\n <v-row class=\"my-1\">\r\n <v-col cols=\"12\">\r\n <h1 class=\"tfb-title-text-medium text-darker-blue text-center\">A Joint Privacy Notice</h1>\r\n </v-col>\r\n </v-row>\r\n <v-row class=\"my-1\">\r\n <v-col cols=\"12\">\r\n <span class=\"font-weight-bold\">On behalf of:</span> Texas Farm Bureau Mutual Insurance\r\n Company, Texas Farm Bureau Premium Finance Company, Texas Farm Bureau Underwriters,\r\n Texas Farm Bureau Casualty Insurance Company, and Farm Bureau County Mutual Insurance\r\n Company of Texas. When you see the words <span class=\"font-italic\">we</span>,\r\n <span class=\"font-italic\">us</span>, or <span class=\"font-italic\">our</span> within\r\n this <span class=\"font-italic\">Joint Privacy Notice</span>, you should understand\r\n that those words include Texas Farm Bureau Mutual Insurance Company, Texas Farm Bureau\r\n Premium Finance Company, Texas Farm Bureau Underwriters, Texas Farm Bureau Casualty\r\n Insurance Company, and Farm Bureau County Mutual Insurance Company of Texas.\r\n </v-col>\r\n </v-row>\r\n <v-row class=\"my-1\">\r\n <v-col cols=\"12\">\r\n <v-expansion-panels accordion\r\n flat>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"show-hide-link\">\r\n <span class=\"text-blue\">Our Commitment to Safeguarding Your Privacy</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n <p>\r\n This <span class=\"font-italic\">Joint Privacy Notice</span>\r\n is being provided to you to inform you of our practices and\r\n procedures regarding the sharing of\r\n <span class=\"font-italic\">nonpublic personal information</span>.\r\n Nonpublic personal information is\r\n <span class=\"font-italic\">personally identifiable financial information</span>\r\n about you, your family, or your household that we may\r\n obtain directly from you, that we may obtain as a result of our business\r\n dealings with you, or that we may obtain from any other source.\r\n </p>\r\n <p>\r\n We do not engage in the practice of disclosing your nonpublic personal\r\n information to nonaffiliated third parties other than, as necessary, to provide\r\n quality insurance and financial services to our customers. For instance, we do\r\n not sell your name, address or telephone number to telemarketers or to direct\r\n mail solicitors. We do not engage in “list-selling,” and we do not offer your\r\n personal information to publishing houses, retailers, or coupon companies.\r\n </p>\r\n <p>\r\n During the continuation of our customer relationship with you, we will also\r\n provide you with a copy of this Joint Privacy Notice at least once during\r\n each calendar year as part of a regular mailing, such as within a billing or\r\n renewal notice or with a policy <span class=\"font-italic\">and</span> at any\r\n time that you request in writing a copy of this Joint Privacy Notice.\r\n Further, because Federal and state laws, regulations and business practices\r\n can change at any time, we may revise this\r\n <span class=\"font-italic\">Joint Privacy Notice</span> accordingly. Once you\r\n cease to be a policyholder, we will stop sending you annual privacy notices.\r\n </p>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"show-hide-link\">\r\n <span class=\"text-blue\">Information We May Collect and Use</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n <p>\r\n During the course of reviewing your application for insurance coverage and\r\n deciding whether or not to underwrite the insurance policy for which you have\r\n applied, and, if we issue you a policy, during the course of providing services\r\n to you as required by the policy, we collect and evaluate information from the\r\n following sources:\r\n </p>\r\n <p>\r\n <ul>\r\n <li>Information we receive from you on applications or other forms;</li>\r\n <li>Information about your transactions with us, our affiliates or others;</li>\r\n <li>Information we receive from consumer reporting agencies; and</li>\r\n <li>Information we receive from a state or federal agency.</li>\r\n </ul>\r\n </p>\r\n <p>\r\n It is important for us to collect and use this information to properly provide,\r\n administer, and perform services on your behalf. We could not provide optimum\r\n service to you without collecting and using this information.\r\n </p>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"show-hide-link\">\r\n <span class=\"text-blue\">Information We May Disclose</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n <p>\r\n We regard all of your personal information as confidential. Therefore, we do\r\n not disclose any nonpublic personal information about our customers or former\r\n customers to anyone except as permitted by law. In the course of conducting our\r\n business dealings, we may disclose to other non-affiliated parties certain\r\n information we have about you. These disclosures are only made for our everyday\r\n business purposes, such as to process account transactions, maintain accounts,\r\n service accounts, respond to court orders and authorized legal investigations,\r\n and to comply with mandatory governmental data requests in accordance with\r\n applicable laws, and may include disclosures to reinsurers, administrators,\r\n service providers, consultants and regulatory or governmental authorities.\r\n Furthermore, certain disclosures of information will be made to your Farm Bureau\r\n insurance agent and any Farm Bureau personnel authorized to have access to your\r\n personal information for the purpose of administering your business and providing\r\n services to you.\r\n </p>\r\n <p>\r\n We may disclose the following categories of information to companies that\r\n perform services on our behalf or to other financial institutions with whom\r\n we have joint marketing agreements such as the Southern Farm Bureau Life\r\n Insurance Company and the Farm Bureau Bank:\r\n </p>\r\n <p>\r\n <ul>\r\n <li>\r\n Information we receive from you on applications or other forms, such as\r\n your name, address, social security number or County Farm Bureau membership\r\n number;\r\n </li>\r\n <li>\r\n Information about your transactions with us, our affiliates or others,\r\n such as your policy coverage, premium, loss history and payment history;\r\n and\r\n </li>\r\n <li>\r\n Information we receive from a consumer reporting agency, such as your\r\n creditworthiness and credit history.\r\n </li>\r\n </ul>\r\n </p>\r\n <p>\r\n Those entities with whom we share personal information are required to\r\n maintain the confidentiality of that information. We do not authorize these\r\n parties to use or disclose your personal information for any purpose other\r\n than for the express purpose of performing work on our behalf or as required\r\n or permitted by law.\r\n </p>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"show-hide-link\">\r\n <span class=\"text-blue\">How We Maintain The Confidentiality And Security Of Your Information</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n <p>\r\n We carefully restrict access to nonpublic personal information to our\r\n employees, our independent contractor insurance agents, our service contract\r\n providers, and our affiliates and subsidiaries. The right of our employees, our\r\n independent contractor insurance agents, our service contract providers, and our\r\n affiliates and subsidiaries to further disclose and use the information is\r\n limited by our employee handbook, agent’s manual, applicable law, and\r\n non-disclosure agreements where appropriate. We maintain physical, electronic,\r\n and procedural safeguards that comply with federal and state law to guard your\r\n nonpublic personal information.\r\n </p>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n </v-expansion-panels>\r\n </v-col>\r\n </v-row>\r\n <v-row class=\"my-1\">\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-small text-darker-blue text-uppercase\">\r\n Conclusion:\r\n </h2>\r\n If you have any questions or comments concerning this <span class=\"font-italic\">Joint Privacy Notice</span> or our\r\n privacy standards and procedures, then please write us at {{poBoxAddress}}.\r\n Our functional regulator is the Texas Department of Insurance.\r\n If we cannot resolve your concerns or answer your questions, feel free to contact\r\n our regulator.\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n\r\n export default {\r\n name: 'JointPrivacy',\r\n mixins: [tfbDataMixin, tfbMetaMixin],\r\n computed: {\r\n metaDescription() {\r\n return 'With Texas Farm Bureau Insurance, your information is secure. Review our Privacy Policy here.';\r\n },\r\n metaPageTitle() {\r\n return 'Joint Privacy Notice';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/privacy`;\r\n },\r\n },\r\n mounted() {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n },\r\n created() {\r\n this.$store.dispatch('app/setIsLoading', true);\r\n },\r\n };\r\n</script>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JointPrivacy.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JointPrivacy.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./JointPrivacy.vue?vue&type=template&id=a9232c12\"\nimport script from \"./JointPrivacy.vue?vue&type=script&lang=js\"\nexport * from \"./JointPrivacy.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-smaller-container pb-10\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"my-1\"},[_c('v-col',{staticClass:\"align-center\",attrs:{\"cols\":\"12\"}},[_c('h1',{staticClass:\"tfb-title-text-medium text-darker-blue\"},[_vm._v(\" Digital Millennium Copyright Act Policy \")])])],1),_c('v-row',{staticClass:\"my-1\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-expansion-panels',{attrs:{\"accordion\":\"\",\"flat\":\"\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"show-hide-link\"},[_c('span',{staticClass:\"text-blue\"},[_vm._v(\"Notice and Takedown Procedure\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_c('p',[_vm._v(\" It is our policy to expeditiously respond to clear notices of alleged copyright infringement that comply with the United States Digital Millennium Copyright Act (“DMCA”). This page describes the information that should be present in these notices. It is designed to make submitting notices of alleged infringement to Texas Farm Bureau Mutual Insurance Company and its affiliated companies (“TFBMIC”) as straightforward as possible while reducing the number of notices that we receive that are fraudulent or difficult to understand or verify. The form of notice specified below is consistent with the form suggested by the DMCA (the text of which can be found at the U.S. Copyright Office Web Site, \"),_c('a',{ref:\"noopener\",attrs:{\"href\":\"https://www.copyright.gov\",\"hreflang\":\"en-us\",\"target\":\"_blank\",\"aria-label\":\"www.copyright.gov (opens in new tab)\"}},[_vm._v(\"https://www.copyright.gov\")]),_vm._v(\"), but we will respond to notices of this form from other jurisdictions as well. \")]),_c('p',[_vm._v(\" It is expected that all users of any part of the TFBMIC website, \"),_c('a',{attrs:{\"href\":\"https://www.txfb-ins.com\",\"hreflang\":\"en-us\"}},[_vm._v(\"www.txfb-ins.com\")]),_vm._v(\" (the “Website”) will comply with applicable copyright laws. However, if TFBMIC receives proper notification of claimed copyright infringement, our response to these notices will include removing or disabling access to material claimed to be the subject of infringing activity and/or terminating user access to the Website, regardless of whether we may be liable for such infringement under United States law or the laws of another jurisdiction. \")]),_c('p',[_vm._v(\" If we remove or disable access in response to such a notice, we will make a good-faith attempt to contact the owner or administrator of the affected site or content so that they may make a counter notification pursuant to Sections 512(g)(2) and (3) of the DMCA. We may also document notices of alleged infringement on which we act. \")])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"show-hide-link\"},[_c('span',{staticClass:\"text-blue\"},[_vm._v(\"Designated Agent\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_c('p',[_vm._v(\" TFBMIC’s Designated Agent to receive notification of alleged infringement under the DMCA is: \")]),_c('address',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.legalContact.name)+\" \")]),_c('br'),_vm._v(\" Email: \"),_c('a',{attrs:{\"href\":_vm.legalContact.emailLink}},[_vm._v(\" \"+_vm._s(_vm.legalContact.emailDisplay)+\" \")]),_c('br'),_vm._v(\" Physical: \"+_vm._s(_vm.legalContact.address)+\" \")]),_c('p',[_vm._v(\" Upon receipt of proper notification of claimed infringement, TFBMIC will follow the procedures outlined herein and in the DMCA. \")])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"show-hide-link\"},[_c('span',{staticClass:\"text-blue\"},[_vm._v(\"Infringement Notification\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_c('p',[_vm._v(\" If you believe that your work has been copied in a way that constitutes copyright infringement, or your intellectual property rights have been otherwise violated, please provide TFBMIC’s Designated Agent (listed above) the following information in a written communication (preferably via email): \")]),_c('ol',[_c('li',[_vm._v(\" Identification of the copyrighted work claimed to have been infringed, or, if multiple copyrighted works at a single online site are covered by a single notification, a representative list of such works at that site; \")]),_c('li',[_vm._v(\" Identification of the material that is claimed to be infringing or to be the subject of infringing activity and that is to be removed or access to which is to be disabled, and information reasonably sufficient to permit TFBMIC to locate the material; \")]),_c('li',[_vm._v(\" Information reasonably sufficient to permit TFBMIC to contact the complaining party, such as an address, telephone number, and, if available, an email address at which the complaining party may be contacted; \")]),_c('li',[_vm._v(\" The following statement: “I have a good faith belief that use of the material in the manner complained of is not authorized by the copyright owner, its agent, or the law”; \")]),_c('li',[_vm._v(\" The following statement: “I swear, under penalty of perjury, that the information in the notification is accurate, and that I am the copyright owner or am authorized to act on behalf of the owner of an exclusive right that is allegedly infringed”; and \")]),_c('li',[_vm._v(\" A physical or electronic signature of the owner or a person authorized to act on behalf of the owner of an exclusive right that is allegedly infringed. \")])]),_c('p',[_vm._v(\" Please note that you may be liable for damages (including costs and attorneys’ fees) if you materially misrepresent that material is infringing your copyrights. Accordingly, if you are not sure whether material available online infringes your copyright, we suggest that you first contact an attorney. \")])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"show-hide-link\"},[_c('span',{staticClass:\"text-blue\"},[_vm._v(\"Counter Notification\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_c('p',[_vm._v(\" A provider of content subject to a claim of infringement may make a counter notification pursuant to sections 512(g)(2) and (3) of the DMCA. To file a counter notification with us, please provide TFBMIC’s Designated Agent (listed above) the following information in a written communication (preferably via email): \")]),_c('ol',[_c('li',[_vm._v(\" Identification of the material that has been removed or to which access has been disabled and the location at which the material appeared before it was removed or access to it was disabled; \")]),_c('li',[_vm._v(\"Your name, address, and telephone number;\")]),_c('li',[_vm._v(\" The following statement: “I consent to the jurisdiction of the federal District Court for the Western District of Texas”; \")]),_c('li',[_vm._v(\" The following statement: “I will accept service of process from [insert the name of the person who submitted the infringement notification] or his/her agent”; \")]),_c('li',[_vm._v(\" The following statement: “I swear, under penalty of perjury, that I have a good faith belief that the affected material was removed or disabled as a result of a mistake or misidentification of the material to be removed or disabled”; and \")]),_c('li',[_vm._v(\"Your signature, in physical or electronic form.\")])]),_c('p',[_vm._v(\" Upon receipt of such counter notification, TFBMIC will promptly provide the person who provided the original infringement notification with a copy of the counter notification, and inform that person that TFBMIC will replace the removed material or cease disabling access to it in 10 business days. TFBMIC will replace the removed material and cease disabling access to it not less than 10, nor more than 14, business days following receipt of the counter notice, unless our Designated Agent first receives notice from the person who submitted the original infringement notification that such person has filed an action seeking a court order to restrain the subscriber from engaging in infringing activity relating to the material on our system or network. \")])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"show-hide-link\"},[_c('span',{staticClass:\"text-blue\"},[_vm._v(\"Repeat Infringers\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_c('p',[_vm._v(\" In accordance with Section 512(i)(1)(a) of the DMCA, TFBMIC will, in appropriate circumstances, disable and/or terminate the access by users who are repeat infringers. \")])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"show-hide-link\"},[_c('span',{staticClass:\"text-blue\"},[_vm._v(\"Accommodation of Standard Technical Measures\")])]),_c('v-expansion-panel-content',{staticClass:\"text-body-2\"},[_c('p',[_vm._v(\" It is TFBMIC’s policy to accommodate and not interfere with standard technical measures used by copyright owners to identify or protect copyrighted works that TFBMIC determines are reasonable under the circumstances. \")])])],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-smaller-container pb-10\">\r\n <v-row class=\"my-1\">\r\n <v-col cols=\"12\"\r\n class=\"align-center\">\r\n <h1 class=\"tfb-title-text-medium text-darker-blue\">\r\n Digital Millennium Copyright Act Policy\r\n </h1>\r\n </v-col>\r\n </v-row>\r\n <v-row class=\"my-1\">\r\n <v-col cols=\"12\">\r\n <v-expansion-panels accordion\r\n flat>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"show-hide-link\">\r\n <span class=\"text-blue\">Notice and Takedown Procedure</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n <p>\r\n It is our policy to expeditiously respond to clear notices of alleged copyright\r\n infringement that comply with the United States Digital Millennium Copyright\r\n Act (“DMCA”). This page describes the information that should be present in\r\n these notices. It is designed to make submitting notices of alleged\r\n infringement to Texas Farm Bureau Mutual Insurance Company and its affiliated\r\n companies (“TFBMIC”) as straightforward as possible while reducing the number\r\n of notices that we receive that are fraudulent or difficult to understand or\r\n verify. The form of notice specified below is consistent with the form\r\n suggested by the DMCA (the text of which can be found at the U.S. Copyright\r\n Office Web Site,\r\n <a href=\"https://www.copyright.gov\"\r\n hreflang=\"en-us\"\r\n target=\"_blank\"\r\n ref=\"noopener\"\r\n aria-label=\"www.copyright.gov (opens in new tab)\">https://www.copyright.gov</a>), but we will respond to\r\n notices of this form from other jurisdictions as well.\r\n </p>\r\n <p>\r\n It is expected that all users of any part of the TFBMIC website,\r\n <a href=\"https://www.txfb-ins.com\"\r\n hreflang=\"en-us\">www.txfb-ins.com</a> (the “Website”) will comply with\r\n applicable copyright laws. However, if TFBMIC receives proper notification\r\n of claimed copyright infringement, our response to these notices will include\r\n removing or disabling access to material claimed to be the subject of\r\n infringing activity and/or terminating user access to the Website, regardless of\r\n whether we may be liable for such infringement under United States law or the\r\n laws of another jurisdiction.\r\n </p>\r\n <p>\r\n If we remove or disable access in response to such a notice, we will make a\r\n good-faith attempt to contact the owner or administrator of the affected site\r\n or content so that they may make a counter notification pursuant to Sections\r\n 512(g)(2) and (3) of the DMCA. We may also document notices of alleged\r\n infringement on which we act.\r\n </p>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"show-hide-link\">\r\n <span class=\"text-blue\">Designated Agent</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n <p>\r\n TFBMIC’s Designated Agent to receive notification of alleged infringement\r\n under the DMCA is:\r\n </p>\r\n <address>\r\n <span class=\"font-weight-bold\">\r\n {{legalContact.name}}\r\n </span><br />\r\n Email:\r\n <a v-bind:href=\"legalContact.emailLink\">\r\n {{legalContact.emailDisplay}}\r\n </a><br />\r\n Physical: {{legalContact.address}}\r\n </address>\r\n <p>\r\n Upon receipt of proper notification of claimed infringement, TFBMIC will follow\r\n the procedures outlined herein and in the DMCA.\r\n </p>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"show-hide-link\">\r\n <span class=\"text-blue\">Infringement Notification</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n <p>\r\n If you believe that your work has been copied in a way that constitutes\r\n copyright infringement, or your intellectual property rights have been\r\n otherwise violated, please provide TFBMIC’s Designated Agent (listed above)\r\n the following information in a written communication (preferably via email):\r\n </p>\r\n <ol>\r\n <li>\r\n Identification of the copyrighted work claimed to have been infringed, or,\r\n if multiple copyrighted works at a single online site are covered by a single\r\n notification, a representative list of such works at that site;\r\n </li>\r\n <li>\r\n Identification of the material that is claimed to be infringing or to be\r\n the subject of infringing activity and that is to be removed or access to which\r\n is to be disabled, and information reasonably sufficient to permit TFBMIC to\r\n locate the material;\r\n </li>\r\n <li>\r\n Information reasonably sufficient to permit TFBMIC to contact the\r\n complaining party, such as an address, telephone number, and, if available,\r\n an email address at which the complaining party may be contacted;\r\n </li>\r\n <li>\r\n The following statement: “I have a good faith belief that use of the\r\n material in the manner complained of is not authorized by the copyright owner,\r\n its agent, or the law”;\r\n </li>\r\n <li>\r\n The following statement: “I swear, under penalty of perjury, that the\r\n information in the notification is accurate, and that I am the copyright owner\r\n or am authorized to act on behalf of the owner of an exclusive right that is\r\n allegedly infringed”; and\r\n </li>\r\n <li>\r\n A physical or electronic signature of the owner or a person authorized to\r\n act on behalf of the owner of an exclusive right that is allegedly\r\n infringed.\r\n </li>\r\n </ol>\r\n <p>\r\n Please note that you may be liable for damages (including costs and attorneys’\r\n fees) if you materially misrepresent that material is infringing your\r\n copyrights. Accordingly, if you are not sure whether material available online\r\n infringes your copyright, we suggest that you first contact an attorney.\r\n </p>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"show-hide-link\">\r\n <span class=\"text-blue\">Counter Notification</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n <p>\r\n A provider of content subject to a claim of infringement may make a counter\r\n notification pursuant to sections 512(g)(2) and (3) of the DMCA. To file a\r\n counter notification with us, please provide TFBMIC’s Designated Agent (listed\r\n above) the following information in a written communication (preferably via\r\n email):\r\n </p>\r\n <ol>\r\n <li>\r\n Identification of the material that has been removed or to which access has\r\n been disabled and the location at which the material appeared before it was\r\n removed or access to it was disabled;\r\n </li>\r\n <li>Your name, address, and telephone number;</li>\r\n <li>\r\n The following statement: “I consent to the jurisdiction of the federal\r\n District Court for the Western District of Texas”;\r\n </li>\r\n <li>\r\n The following statement: “I will accept service of process from [insert the\r\n name of the person who submitted the infringement notification] or his/her\r\n agent”;\r\n </li>\r\n <li>\r\n The following statement: “I swear, under penalty of perjury, that I have a\r\n good faith belief that the affected material was removed or disabled as a\r\n result of a mistake or misidentification of the material to be removed or\r\n disabled”; and\r\n </li>\r\n <li>Your signature, in physical or electronic form.</li>\r\n </ol>\r\n <p>\r\n Upon receipt of such counter notification, TFBMIC will promptly provide the\r\n person who provided the original infringement notification with a copy of\r\n the counter notification, and inform that person that TFBMIC will replace the\r\n removed material or cease disabling access to it in 10 business days. TFBMIC\r\n will replace the removed material and cease disabling access to it not less\r\n than 10, nor more than 14, business days following receipt of the counter\r\n notice, unless our Designated Agent first receives notice from the person\r\n who submitted the original infringement notification that such person has filed\r\n an action seeking a court order to restrain the subscriber from engaging in\r\n infringing activity relating to the material on our system or network.\r\n </p>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"show-hide-link\">\r\n <span class=\"text-blue\">Repeat Infringers</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n <p>\r\n In accordance with Section 512(i)(1)(a) of the DMCA, TFBMIC will, in\r\n appropriate circumstances, disable and/or terminate the access by users who\r\n are repeat infringers.\r\n </p>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"show-hide-link\">\r\n <span class=\"text-blue\">Accommodation of Standard Technical Measures</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"text-body-2\">\r\n <p>\r\n It is TFBMIC’s policy to accommodate and not interfere with standard technical\r\n measures used by copyright owners to identify or protect copyrighted works that\r\n TFBMIC determines are reasonable under the circumstances.\r\n </p>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n </v-expansion-panels>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n\r\n export default {\r\n name: 'DMCA',\r\n mixins: [tfbDataMixin, tfbMetaMixin],\r\n computed: {\r\n metaPageTitle() {\r\n return 'Digital Millennium Copyright Act Policy';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/dmca`;\r\n },\r\n },\r\n };\r\n</script>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DMCA.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DMCA.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DMCA.vue?vue&type=template&id=0bf047cf\"\nimport script from \"./DMCA.vue?vue&type=script&lang=js\"\nexport * from \"./DMCA.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-smaller-container pb-10\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"my-1\"},[_c('v-col',{staticClass:\"align-center\",attrs:{\"cols\":\"12\"}},[_c('h1',{staticClass:\"tfb-title-text-medium text-darker-blue\"},[_vm._v(\"Required Notices\")])])],1),_c('v-row',{staticClass:\"my-1\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('p',[_vm._v(\"UMR creates and publishes the Machine-Readable Files on behalf of Texas Farm Bureau.\")]),_c('p',[_vm._v(\"To link to the Machine-Readable Files, please click on the URL provided: \"),_c('a',{attrs:{\"href\":\"https://transparency-in-coverage.uhc.com/\",\"hreflang\":\"en-us\",\"target\":\"_blank\",\"rel\":\"noopener\",\"aria-label\":\"transparency-in-coverage.uhc.com (opens in new tab)\"}},[_vm._v(\"transparency-in-coverage.uhc.com\")])])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-smaller-container pb-10\">\r\n <v-row class=\"my-1\">\r\n <v-col cols=\"12\"\r\n class=\"align-center\">\r\n <h1 class=\"tfb-title-text-medium text-darker-blue\">Required Notices</h1>\r\n </v-col>\r\n </v-row>\r\n <v-row class=\"my-1\">\r\n <v-col cols=\"12\">\r\n <p>UMR creates and publishes the Machine-Readable Files on behalf of Texas Farm Bureau.</p>\r\n <p>To link to the Machine-Readable Files, please click on the URL provided: <a href=\"https://transparency-in-coverage.uhc.com/\"\r\n hreflang=\"en-us\"\r\n target=\"_blank\"\r\n rel=\"noopener\"\r\n aria-label=\"transparency-in-coverage.uhc.com (opens in new tab)\">transparency-in-coverage.uhc.com</a></p>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n\r\n export default {\r\n name: 'RequiredNotices',\r\n mixins: [tfbMetaMixin],\r\n computed: {\r\n metaDescription() {\r\n return 'UMR creates and publishes the Machine-Readable Files on behalf of Texas Farm Bureau.';\r\n },\r\n metaPageTitle() {\r\n return 'Required Notices';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/required-notices`;\r\n },\r\n },\r\n created() {\r\n this.$store.dispatch('app/setIsLoading', true);\r\n },\r\n mounted() {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequiredNotices.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequiredNotices.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RequiredNotices.vue?vue&type=template&id=2e8a6124\"\nimport script from \"./RequiredNotices.vue?vue&type=script&lang=js\"\nexport * from \"./RequiredNotices.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\",\"id\":\"agent-listing\"}},[_c('v-row',{attrs:{\"dense\":\"\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"lg\":\"4\"}},[_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\",\"id\":\"agent-listing-detail\"}},[_c('v-row',{staticClass:\"find-agents-gray px-5\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"align-self\":\"start\"}},[_c('h1',{staticClass:\"tfb-title-text-small text-uppercase\"},[_c('router-link',{staticClass:\"find-agents-listing-link\",attrs:{\"to\":{ name: 'countyListing' }}},[_vm._v(\"Find\")]),_vm._v(\" an \"),_c('router-link',{staticClass:\"find-agents-listing-link\",attrs:{\"to\":{ name: 'agentListing' }}},[_vm._v(\"Agent\")])],1)])],1),_c('v-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('v-row',{staticClass:\"find-agents-gray px-5\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"5\",\"align-self\":\"center\"}},[_c('v-text-field',{attrs:{\"id\":\"agent-search-zip\",\"type\":\"number\",\"dense\":\"\",\"filled\":\"\",\"background-color\":\"white\",\"placeholder\":\"ZIP CODE\"},on:{\"change\":_vm.clearCounty},model:{value:(_vm.searchAgentZipCode),callback:function ($$v) {_vm.searchAgentZipCode=$$v},expression:\"searchAgentZipCode\"}})],1),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"2\",\"align-self\":\"center\"}},[_c('span',{staticClass:\"text-uppercase\"},[_vm._v(\" or \")])]),_c('v-col',{attrs:{\"cols\":\"5\",\"align-self\":\"center\"}},[_c('v-select',{attrs:{\"dense\":\"\",\"filled\":\"\",\"background-color\":\"white\",\"placeholder\":\"COUNTY\",\"id\":\"search-agent-county\",\"name\":\"search-agent-county\",\"items\":_vm.countyOptions,\"item-text\":\"_countyName\",\"item-value\":\"_countyName\"},on:{\"change\":_vm.clearZipCode},model:{value:(_vm.searchAgentCounty),callback:function ($$v) {_vm.searchAgentCounty=$$v},expression:\"searchAgentCounty\"}})],1)],1),_c('v-row',{staticClass:\"find-agents-gray px-5\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\" Search \")])],1)],1)],1),_c('v-row',{staticClass:\"find-agents-listing-gray px-3\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('div',{staticClass:\"mb-2\"},[(_vm.agents.length > 0)?_c('span',[_vm._v(\"Displaying \"+_vm._s(_vm.agents.length)+\" results from \"+_vm._s(_vm.searchValue))]):_vm._e(),(!_vm.agentLoading && _vm.agents.length <= 0 && _vm.searchValue !== null && _vm.searchValue !== '')?_c('span',[_vm._v(\" Unable to locate agents in \"+_vm._s(_vm.searchValue)+\". \")]):_vm._e(),(!_vm.agentLoading && (_vm.searchValue === null || _vm.searchValue === ''))?_c('span',[_vm._v(\" Enter your ZIP code or select your county to locate agents in your area. \")]):_vm._e()]),_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"loading\":_vm.agentLoading,\"type\":\"list-item-avatar-three-line@3\"}},[_c('agent-cards',{attrs:{\"agent-listing\":_vm.agents}})],1)],1)],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('agent-map',{attrs:{\"markers\":_vm.markers,\"info-window-open\":true}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"pa-0\"\r\n id=\"agent-listing\">\r\n <v-row dense\r\n no-gutters>\r\n <v-col cols=\"12\"\r\n lg=\"4\">\r\n <v-container fluid\r\n class=\"pa-0\"\r\n id=\"agent-listing-detail\">\r\n <v-row no-gutters\r\n class=\"find-agents-gray px-5\">\r\n <v-col align-self=\"start\">\r\n <h1 class=\"tfb-title-text-small text-uppercase\">\r\n <router-link :to=\"{ name: 'countyListing' }\"\r\n class=\"find-agents-listing-link\">Find</router-link> an\r\n <router-link :to=\"{ name: 'agentListing' }\"\r\n class=\"find-agents-listing-link\">Agent</router-link>\r\n </h1>\r\n </v-col>\r\n </v-row>\r\n <v-form @submit.stop.prevent=\"onSubmit\">\r\n <v-row no-gutters\r\n class=\"find-agents-gray px-5\">\r\n <v-col cols=\"5\"\r\n align-self=\"center\">\r\n <v-text-field id=\"agent-search-zip\"\r\n v-model=\"searchAgentZipCode\"\r\n type=\"number\"\r\n dense\r\n filled\r\n background-color=\"white\"\r\n placeholder=\"ZIP CODE\"\r\n @change=\"clearCounty\">\r\n </v-text-field>\r\n </v-col>\r\n <v-col cols=\"2\"\r\n align-self=\"center\"\r\n class=\"text-center\">\r\n <span class=\"text-uppercase\">\r\n or\r\n </span>\r\n </v-col>\r\n <v-col cols=\"5\"\r\n align-self=\"center\">\r\n <v-select dense\r\n filled\r\n background-color=\"white\"\r\n placeholder=\"COUNTY\"\r\n id=\"search-agent-county\"\r\n name=\"search-agent-county\"\r\n @change=\"clearZipCode\"\r\n :items=\"countyOptions\"\r\n v-model=\"searchAgentCounty\"\r\n item-text=\"_countyName\"\r\n item-value=\"_countyName\">\r\n </v-select>\r\n </v-col>\r\n </v-row>\r\n <v-row no-gutters\r\n class=\"find-agents-gray px-5\">\r\n <v-col>\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n class=\"tfb-button background-red\"\r\n type=\"submit\">\r\n Search\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n <v-row no-gutters\r\n class=\"find-agents-listing-gray px-3\">\r\n <v-col>\r\n <div class=\"mb-2\">\r\n <span v-if=\"agents.length > 0\">Displaying {{agents.length}} results from {{searchValue}}</span>\r\n <span v-if=\"!agentLoading && agents.length <= 0 && searchValue !== null && searchValue !== ''\">\r\n Unable to locate agents in {{searchValue}}.\r\n </span>\r\n <span v-if=\"!agentLoading && (searchValue === null || searchValue === '')\">\r\n Enter your ZIP code or select your county to locate agents in your area.\r\n </span>\r\n </div>\r\n <v-skeleton-loader :loading=\"agentLoading\"\r\n type=\"list-item-avatar-three-line@3\"\r\n class=\"mx-auto\">\r\n <agent-cards :agent-listing=\"agents\"></agent-cards>\r\n </v-skeleton-loader>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"8\">\r\n <agent-map :markers=\"markers\"\r\n :info-window-open=\"true\"></agent-map>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n /* eslint no-underscore-dangle: 0 */\r\n import _ from 'lodash';\r\n import {\r\n defaultMarkerIcon, secondaryMarkerIcon, defaultMarker,\r\n } from '@/mixins/googleSettings';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import AgentCards from './components/AgentCards.vue';\r\n import AgentMap from './components/AgentMap.vue';\r\n\r\n export default {\r\n name: 'FindAnAgent',\r\n mixins: [tfbMetaMixin, tfbHelperMixin],\r\n data() {\r\n return {\r\n formDisabled: false,\r\n markers: [],\r\n searchAgentZipCode: '',\r\n searchAgentCounty: '',\r\n searchValue: '',\r\n countyOptions: [],\r\n agentLoading: false,\r\n agents: [],\r\n };\r\n },\r\n components: {\r\n AgentCards,\r\n AgentMap,\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Find an Agent';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/county/lookup`;\r\n },\r\n },\r\n mounted() {\r\n try {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.getCountyList();\r\n this.$store.dispatch('location/setLocation').then(() => {\r\n if (this.$store.state.location.latitude && this.$store.state.location.latitude !== null && this.$store.state.location.latitude !== '') {\r\n this.markers.push({\r\n infoText: 'Your Current Location',\r\n position: {\r\n lat: Number(this.$store.state.location.latitude),\r\n lng: Number(this.$store.state.location.longitude),\r\n },\r\n icon: secondaryMarkerIcon,\r\n });\r\n }\r\n\r\n if (this.$store.state.location.countyName && this.$store.state.location.countyName !== null && this.$store.state.location.countyName !== '') {\r\n this.searchAgentCounty = this.$store.state.location.countyName;\r\n this.onSubmit();\r\n } else if (this.$store.state.location.zipCode && this.$store.state.location.zipCode !== null && this.$store.state.location.zipCode !== '') {\r\n this.searchAgentZipCode = this.$store.state.location.zipCode;\r\n this.onSubmit();\r\n }\r\n });\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } catch (e) {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: e,\r\n fileName: 'FindAnAgent.vue',\r\n methodName: 'mounted-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n },\r\n methods: {\r\n clearZipCode() {\r\n this.searchAgentZipCode = '';\r\n },\r\n clearCounty() {\r\n this.searchAgentCounty = '';\r\n },\r\n getCountyList() {\r\n this.$store.dispatch('agentcounty/getCountyList')\r\n .then((response) => {\r\n if (response && response.data && response.data._counties) {\r\n this.countyOptions = response.data._counties;\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n },\r\n onSubmit() {\r\n // Reset the error display\r\n this.$store.dispatch('app/clearErrorMessage');\r\n\r\n // Disable the search button\r\n this.formDisabled = true;\r\n\r\n // Set the agent listing loading indicator\r\n this.agentLoading = true;\r\n\r\n // Reset the Google Map markers\r\n this.markers = [];\r\n\r\n // Empty the agent listing\r\n this.agents = [];\r\n\r\n // Was a zip code entered? Was a county selected?\r\n if (this.searchAgentZipCode !== '') {\r\n // Searching by zip code\r\n this.searchAgentCounty = '';\r\n this.searchValue = this.searchAgentZipCode;\r\n\r\n // Get the county associated with this zip code\r\n this.$store.dispatch('location/getAddress', { sAddress: this.searchAgentZipCode })\r\n .then((response) => {\r\n if (response.data.results && response.data.results.length > 0) {\r\n // eslint-disable-next-line prefer-destructuring\r\n const location = response.data.results[0].geometry.location;\r\n this.markers.push({\r\n infoText: 'Your Current Location',\r\n position: {\r\n lat: Number(location.lat),\r\n lng: Number(location.lng),\r\n },\r\n icon: secondaryMarkerIcon,\r\n });\r\n this.fetchOfficesByLatLong(location.lat, location.lng, this.searchAgentZipCode);\r\n } else {\r\n this.markers.push(defaultMarker);\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n });\r\n } else if (this.searchAgentCounty !== '') {\r\n // Searching by county\r\n this.searchAgentZipCode = '';\r\n this.searchValue = `${this.searchAgentCounty} County`;\r\n\r\n this.$store.dispatch('location/getAddress', { sAddress: `${this.searchAgentCounty} County Texas` })\r\n .then((response) => {\r\n if (response.data.results && response.data.results.length > 0) {\r\n // eslint-disable-next-line prefer-destructuring\r\n const location = response.data.results[0].geometry.location;\r\n this.markers.push({\r\n infoText: 'Your Current Location',\r\n position: {\r\n lat: Number(location.lat),\r\n lng: Number(location.lng),\r\n },\r\n icon: secondaryMarkerIcon,\r\n });\r\n } else {\r\n this.markers.push(defaultMarker);\r\n }\r\n\r\n // Get the agent listing for this county\r\n this.fetchAgentsByCounty(this.searchAgentCounty);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n });\r\n } else {\r\n // Nothing selected, show error\r\n this.$store.dispatch('app/setErrorMessage', 'Please enter a ZIP code or select a county');\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n }\r\n },\r\n fetchAgentsByCounty(countyName) {\r\n // Get the offices in this county\r\n this.$store.dispatch('agentcounty/getOfficesByCounty', { sCountyName: countyName, sBranchCode: null, sTfbId: this.trackingId })\r\n .then((response) => {\r\n if (response && response.length > 0) {\r\n // Empty the agent listing again\r\n this.agents = [];\r\n\r\n // Loop through the returned offices\r\n for (let c = 0; c < response.length; c += 1) {\r\n const countyOffice = response[c];\r\n\r\n // Add the county office to the map\r\n this.markers.push({\r\n infoText: countyOffice.officeMapInfoBox,\r\n position: {\r\n lat: Number(countyOffice.latitude),\r\n lng: Number(countyOffice.longitude),\r\n },\r\n icon: defaultMarkerIcon,\r\n });\r\n\r\n // Find all the agents in the office\r\n this.fetchAgentsByCountyBranch(countyOffice.name, countyOffice.branchCode, countyOffice.distance);\r\n }\r\n } else if (response && response.data && response.data._errorMessage) {\r\n // Error message was returned\r\n this.$store.dispatch('app/setErrorMessage', response.data._errorMessage);\r\n // Set the agent listing loading indicator\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n } else {\r\n // No offices were found\r\n // Set the agent listing loading indicator\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n // Set the agent listing loading indicator\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n });\r\n },\r\n fetchOfficesByLatLong(latitude, longitude) {\r\n // Get the offices in this county\r\n this.$store.dispatch('agentcounty/getOfficesByLatLong', {\r\n sLatitude: latitude, sLongitude: longitude, sRadius: '25', sTfbId: this.trackingId,\r\n })\r\n .then((response) => {\r\n if (response && response.length > 0) {\r\n // Empty the agent listing again\r\n this.agents = [];\r\n\r\n // Loop through the returned offices\r\n for (let c = 0; c < response.length; c += 1) {\r\n const countyOffice = response[c];\r\n\r\n // Add the county office to the map\r\n this.markers.push({\r\n infoText: countyOffice.officeMapInfoBox,\r\n position: {\r\n lat: Number(countyOffice.latitude),\r\n lng: Number(countyOffice.longitude),\r\n },\r\n icon: defaultMarkerIcon,\r\n });\r\n\r\n // Find all the agents in the office\r\n this.fetchAgentsByCountyBranch(countyOffice.name, countyOffice.branchCode, countyOffice.distance);\r\n }\r\n } else {\r\n // No offices were found, try bumping up the search radius\r\n this.$store.dispatch('agentcounty/getOfficesByLatLong', {\r\n sLatitude: latitude, sLongitude: longitude, sRadius: '50', sTfbId: this.trackingId,\r\n })\r\n .then((officeResponse) => {\r\n if (officeResponse && officeResponse.length > 0) {\r\n // Empty the agent listing again\r\n this.agents = [];\r\n\r\n // Loop through the returned offices\r\n for (let c = 0; c < officeResponse.length; c += 1) {\r\n const countyOffice = officeResponse[c];\r\n\r\n // Add the county office to the map\r\n this.markers.push({\r\n infoText: countyOffice.officeMapInfoBox,\r\n position: {\r\n lat: Number(countyOffice.latitude),\r\n lng: Number(countyOffice.longitude),\r\n },\r\n icon: defaultMarkerIcon,\r\n });\r\n\r\n // Find all the agents in the office\r\n this.fetchAgentsByCountyBranch(countyOffice.name, countyOffice.branchCode, countyOffice.distance);\r\n }\r\n } else {\r\n // No offices were found\r\n // Set the agent listing loading indicator\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n // Set the agent listing loading indicator\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n });\r\n // Set the agent listing loading indicator\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n // Set the agent listing loading indicator\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n });\r\n },\r\n fetchAgentsByCountyBranch(countyName, branchCode, distance) {\r\n // Find all the agents in the office\r\n this.$store.dispatch('agentcounty/getAgentsByOffice', { sCountyName: countyName, sBranchCode: branchCode, sTfbId: this.trackingId })\r\n .then((agentResponse) => {\r\n if (agentResponse && agentResponse.data && agentResponse.data._agents) {\r\n // Loop through the returned agents\r\n for (let a = 0; a < agentResponse.data._agents.length; a += 1) {\r\n const agent = agentResponse.data._agents[a];\r\n // Get the agent details\r\n this.$store.dispatch('agentcounty/getAgentDetails', { sAgentCode: agent._agentCode, sDistance: distance, sTfbId: this.trackingId })\r\n .then((detailResponse) => {\r\n if (detailResponse) {\r\n // Add the agent to the listing\r\n this.agents.push(detailResponse);\r\n }\r\n\r\n this.agents = _.uniqBy(this.agents, 'code');\r\n this.agents = _.orderBy(this.agents, ['distance'], ['asc']);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n // Set the agent listing loading indicator\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n });\r\n }\r\n }\r\n\r\n this.agents = _.uniqBy(this.agents, 'code');\r\n this.agents = _.orderBy(this.agents, ['distance'], ['asc']);\r\n\r\n // Set the agent listing loading indicator\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n // Set the agent listing loading indicator\r\n this.agentLoading = false;\r\n this.formDisabled = false;\r\n });\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .find-agents-gray {\r\n background-color: $tfb-gray !important;\r\n color: $white;\r\n font-size: small;\r\n vertical-align: middle;\r\n padding: 5px;\r\n }\r\n\r\n .find-agents-listing-gray {\r\n background-color: $tfb-lightest-gray !important;\r\n color: $black;\r\n font-size: .8em;\r\n vertical-align: middle;\r\n padding: 5px;\r\n height: 400px;\r\n overflow-x: hidden;\r\n overflow-y: scroll;\r\n }\r\n\r\n a.find-agents-listing-link,\r\n a:hover.find-agents-listing-link,\r\n a:active.find-agents-listing-link,\r\n a:visited.find-agents-listing-link {\r\n color: $white !important;\r\n text-decoration: none !important;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FindAnAgent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FindAnAgent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FindAnAgent.vue?vue&type=template&id=2d25db77\"\nimport script from \"./FindAnAgent.vue?vue&type=script&lang=js\"\nexport * from \"./FindAnAgent.vue?vue&type=script&lang=js\"\nimport style0 from \"./FindAnAgent.vue?vue&type=style&index=0&id=2d25db77&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"agent-details\"}},[_c('div',{staticClass:\"background-darker-blue tfb-agent-details\",attrs:{\"itemscope\":\"\",\"itemtype\":\"http://schema.org/Person\"}},[_c('v-container',{staticClass:\"tfb-smallest-container\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"loading\":_vm.agentLoading,\"type\":\"image\"}},[(_vm.agentDetails && _vm.agentDetails !== null)?_c('v-img',{staticClass:\"rounded-0 agent-photo mx-auto\",attrs:{\"contain\":\"\",\"src\":_vm.agentDetails.photo,\"alt\":_vm.agentDetails.name,\"max-height\":\"240\",\"max-width\":\"192\",\"min-height\":\"240\",\"min-width\":\"192\",\"itemprop\":\"image\"},scopedSlots:_vm._u([{key:\"placeholder\",fn:function(){return [_c('v-img',{staticClass:\"rounded-0 agent-photo mx-auto\",attrs:{\"src\":_vm.defaultAgentImage,\"alt\":\"No Photo Available\",\"itemprop\":\"image\"}})]},proxy:true},{key:\"error\",fn:function(){return [_c('v-img',{staticClass:\"rounded-0 agent-photo mx-auto\",attrs:{\"src\":_vm.defaultAgentImage,\"alt\":\"No Photo Available\",\"itemprop\":\"image\"}})]},proxy:true}],null,false,1975353938)}):_c('v-img',{staticClass:\"rounded-0 agent-photo mx-auto\",attrs:{\"src\":_vm.defaultAgentImage}})],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"9\",\"align-self\":\"center\"}},[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"loading\":_vm.agentLoading,\"type\":\"paragraph\"}},[(_vm.agentDetails && _vm.agentDetails !== null)?_c('div',[_c('h1',{staticClass:\"tfb-title-text-medium text-uppercase text-blue\",attrs:{\"itemprop\":\"name\"}},[_vm._v(\" \"+_vm._s(_vm.agentDetails.name)+\" \")]),_c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"5\"}},[_c('span',{staticClass:\"tfb-header-text-small text-uppercase font-weight-bold\"},[_vm._v(\" Office \")]),_c('br'),_c('a',{staticClass:\"county-agent-links\",attrs:{\"href\":_vm._f(\"linkFormatPhone\")(_vm.agentDetails.phoneNumber),\"hreflang\":\"en-us\",\"itemprop\":\"telephone\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"formatPhone\")(_vm.agentDetails.phoneNumber))+\" \")]),_c('br'),_c('br'),(_vm.agentDetails.faxNumber && _vm.agentDetails.faxNumber !== '')?_c('span',{staticClass:\"tfb-header-text-small text-uppercase font-weight-bold\"},[_vm._v(\" Fax \")]):_vm._e(),_c('br'),_c('a',{staticClass:\"county-agent-links\",attrs:{\"href\":_vm._f(\"linkFormatPhone\")(_vm.agentDetails.faxNumber),\"hreflang\":\"en-us\",\"itemprop\":\"faxNumber\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"formatPhone\")(_vm.agentDetails.faxNumber))+\" \")]),_c('br'),_c('br'),_c('span',{staticClass:\"tfb-header-text-small text-uppercase font-weight-bold\"},[_vm._v(\" Email \")]),_c('br'),_c('a',{staticClass:\"county-agent-links\",attrs:{\"href\":_vm._f(\"linkFormatEmail\")(_vm.agentDetails.emailAddress),\"hreflang\":\"en-us\",\"itemprop\":\"email\"}},[_vm._v(\" \"+_vm._s(_vm.agentDetails.emailAddress)+\" \")]),_c('br'),_c('br'),(_vm.agentFacebook)?_c('a',{staticClass:\"county-agent-links\",attrs:{\"href\":_vm.agentFacebook,\"hreflang\":\"en-us\",\"target\":\"_blank\"}},[_vm._v(\" Visit me on Facebook! \")]):_vm._e(),_c('br')]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"7\"}},[_c('span',{staticClass:\"tfb-header-text-small text-uppercase font-weight-bold\"},[_vm._v(\" Mailing Address \")]),_c('br'),(_vm.agentDetails.mailingAddressDisplay && _vm.agentDetails.mailingAddressDisplay !== null)?_c('div',{attrs:{\"itemprop\":\"address\",\"itemscope\":\"\",\"itemtype\":\"http://schema.org/PostalAddress\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.agentDetails.mailingAddressDisplay)}}),_c('br')]):_vm._e(),_c('span',{staticClass:\"tfb-header-text-small text-uppercase font-weight-bold\"},[_vm._v(\" Physical Address \")]),_c('br'),(_vm.agentDetails.physicalAddressDisplay && _vm.agentDetails.physicalAddressDisplay !== null)?_c('div',{attrs:{\"itemprop\":\"address\",\"itemscope\":\"\",\"itemtype\":\"http://schema.org/PostalAddress\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.agentDetails.physicalAddressDisplay)}}),_c('v-icon',{staticClass:\"mdi-18px tfb-county-icon\"},[_vm._v(\"mdi-map-marker\")]),_c('a',{staticClass:\"county-agent-links\",attrs:{\"href\":_vm.agentDetails.mapUrl,\"hreflang\":\"en-us\",\"target\":\"_blank\"}},[_vm._v(\"Directions\")]),_c('br')],1):_vm._e(),_c('br'),(_vm.agentWeatherLink)?_c('a',{staticClass:\"county-agent-links\",attrs:{\"href\":_vm.agentWeatherLink,\"hreflang\":\"en-us\",\"target\":\"_blank\"}},[_vm._v(\" Sign up for weather alerts! \")]):_vm._e(),_c('br'),(_vm.siFiTracking)?_c('script',{attrs:{\"defer\":\"\",\"async\":\"\",\"type\":\"application/javascript\",\"src\":`https://tag.simpli.fi/sifitag/${_vm.siFiTracking}`}}):_vm._e()])],1)],1)],1):_c('div',[_c('span',{staticClass:\"tfb-title-text-small text-white\"},[_vm._v(\" Unable to locate agent information \")])])])],1)],1),(_vm.agentDetails && _vm.agentDetails !== null && _vm.agentSummary)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-uppercase text-blue\"},[_vm._v(\" About \"+_vm._s(_vm.agentDetails.name)+\" \")]),_c('p',{attrs:{\"itemprop\":\"description\"}},[_vm._v(\" \"+_vm._s(_vm.agentSummary)+\" \")])])],1):_vm._e()],1),(_vm.agentDetails && _vm.agentDetails !== null)?_c('span',[_c('agent-contact',{attrs:{\"agent-email\":_vm.agentDetails.emailAddress}}),_c('blog',{attrs:{\"header\":`Resources from ${_vm.agentDetails.name}`,\"sub-header\":\"\",\"keywords\":_vm.blogKeywords}})],1):_vm._e()],1),_c('agent-map',{attrs:{\"markers\":_vm.markers,\"info-window-open\":true}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.agentEmail && _vm.agentEmail !== null && _vm.agentEmail !== '')?_c('v-container',{staticClass:\"tfb-agent-request-box mb-10\"},[_c('v-row',[_c('v-col',[_c('h2',{staticClass:\"tfb-title-text-medium text-uppercase text-darker-blue\"},[_vm._v(\"Contact Form\")])])],1),_c('required-fields-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.submitted),expression:\"!submitted\"}]}),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [_c('v-form',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.submitted),expression:\"!submitted\"}],on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|name|min:4|max:60\",\"minlength\":\"4\",\"maxlength\":\"60\",\"label\":\"Name\",\"autocomplete\":\"shipping given-name\",\"autocapitalize\":\"words\"},model:{value:(_vm.fullName),callback:function ($$v) {_vm.fullName=$$v},expression:\"fullName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|email|valid_domain|min:3|max:250\",\"autocomplete\":\"home email\",\"minlength\":\"3\",\"maxlength\":\"250\",\"label\":\"Email\",\"type\":\"email\"},model:{value:(_vm.email),callback:function ($$v) {_vm.email=$$v},expression:\"email\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('###-###-####'),expression:\"'###-###-####'\"}],attrs:{\"rules\":\"phone_number|min:10|max:12\",\"autocomplete\":\"home tel\",\"minlength\":\"10\",\"maxlength\":\"12\",\"label\":\"Phone\",\"type\":\"tel\"},model:{value:(_vm.phoneNumber),callback:function ($$v) {_vm.phoneNumber=$$v},expression:\"phoneNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required|max:10\",\"label\":\"Subject\",\"items\":_vm.subjectOptions},model:{value:(_vm.subject),callback:function ($$v) {_vm.subject=$$v},expression:\"subject\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.subject === 'Billing'),expression:\"subject === 'Billing'\"}],attrs:{\"rules\":\"max:100\",\"label\":\"Subject Detail\",\"items\":_vm.billingOptions},model:{value:(_vm.subjectDetail),callback:function ($$v) {_vm.subjectDetail=$$v},expression:\"subjectDetail\"}}),_c('select-input',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.subject === 'Claims'),expression:\"subject === 'Claims'\"}],attrs:{\"rules\":\"max:100\",\"label\":\"Subject Detail\",\"items\":_vm.claimsOptions},model:{value:(_vm.subjectDetail),callback:function ($$v) {_vm.subjectDetail=$$v},expression:\"subjectDetail\"}}),_c('select-input',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.subject === 'Payments'),expression:\"subject === 'Payments'\"}],attrs:{\"rules\":\"max:100\",\"label\":\"Subject Detail\",\"items\":_vm.paymentsOptions},model:{value:(_vm.subjectDetail),callback:function ($$v) {_vm.subjectDetail=$$v},expression:\"subjectDetail\"}}),_c('select-input',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.subject === 'Policy'),expression:\"subject === 'Policy'\"}],attrs:{\"rules\":\"max:100\",\"label\":\"Subject Detail\",\"items\":_vm.policyOptions},model:{value:(_vm.subjectDetail),callback:function ($$v) {_vm.subjectDetail=$$v},expression:\"subjectDetail\"}})],1)],1),(_vm.subjectDetail === 'Cancellation')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-menu',{ref:\"cancelEffectiveDateMenu\",attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required\",\"name\":\"Cancellation Effective Date\",\"vid\":\"cancelEffective\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid }){return [_c('v-text-field',_vm._g({attrs:{\"outlined\":\"\",\"required\":\"\",\"readonly\":\"\",\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid,\"label\":\"Cancellation Effective Date\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-calendar\")]),_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.cancelEffectiveDate),callback:function ($$v) {_vm.cancelEffectiveDate=$$v},expression:\"cancelEffectiveDate\"}},on))]}}],null,true)})]}}],null,true),model:{value:(_vm.cancelEffectiveDateMenu),callback:function ($$v) {_vm.cancelEffectiveDateMenu=$$v},expression:\"cancelEffectiveDateMenu\"}},[_c('v-date-picker',{attrs:{\"color\":\"background-blue\",\"no-title\":\"\",\"min\":_vm.minCancellationDate},on:{\"input\":function($event){_vm.cancelEffectiveDateMenu = false}},model:{value:(_vm.cancelEffectiveDate),callback:function ($$v) {_vm.cancelEffectiveDate=$$v},expression:\"cancelEffectiveDate\"}})],1)],1)],1):_vm._e(),_c('v-row',[_c('v-col',[_c('text-area-input',{attrs:{\"rules\":\"required|all_allowed_extended|min:4|max:2000\",\"label\":\"Message\",\"autocapitalize\":\"sentences\",\"minlength\":\"4\",\"maxlength\":\"2000\",\"counter\":2000},model:{value:(_vm.message),callback:function ($$v) {_vm.message=$$v},expression:\"message\"}})],1)],1),_c('v-row',{attrs:{\"justify\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"7\"}},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.hasCaptcha),expression:\"!hasCaptcha\"}],staticClass:\"text-darkest-red\",attrs:{\"role\":\"alert\"}},[_vm._v(\"Please validate you are not a bot.\")]),_c('vue-recaptcha',{ref:\"recaptcha\",attrs:{\"sitekey\":_vm.googleReCaptchaKey},on:{\"verify\":_vm.onVerify,\"expired\":_vm.onExpired}}),_c('br')],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"type\":\"submit\"}},[_vm._v(\" Send Message \")])],1)],1)],1)]}}],null,false,4239234461)}),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.submitted),expression:\"submitted\"}]},[_c('v-col',[_c('span',{staticClass:\"tfb-title-text-smaller text-darkest-blue\"},[_vm._v(\" Thank you! \")])])],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container class=\"tfb-agent-request-box mb-10\"\r\n v-if=\"agentEmail && agentEmail !== null && agentEmail !== ''\">\r\n <v-row>\r\n <v-col>\r\n <h2 class=\"tfb-title-text-medium text-uppercase text-darker-blue\">Contact Form</h2>\r\n </v-col>\r\n </v-row>\r\n <required-fields-row v-show=\"!submitted\"></required-fields-row>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form @submit.stop.prevent=\"handleSubmit(onSubmit)\"\r\n v-show=\"!submitted\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|name|min:4|max:60\"\r\n minlength=\"4\"\r\n maxlength=\"60\"\r\n label=\"Name\"\r\n v-model=\"fullName\"\r\n autocomplete=\"shipping given-name\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|email|valid_domain|min:3|max:250\"\r\n autocomplete=\"home email\"\r\n minlength=\"3\"\r\n maxlength=\"250\"\r\n label=\"Email\"\r\n v-model=\"email\"\r\n type=\"email\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"phone_number|min:10|max:12\"\r\n autocomplete=\"home tel\"\r\n minlength=\"10\"\r\n maxlength=\"12\"\r\n label=\"Phone\"\r\n v-model=\"phoneNumber\"\r\n v-mask=\"'###-###-####'\"\r\n type=\"tel\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required|max:10\"\r\n label=\"Subject\"\r\n :items=\"subjectOptions\"\r\n v-model=\"subject\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"max:100\"\r\n label=\"Subject Detail\"\r\n :items=\"billingOptions\"\r\n v-model=\"subjectDetail\"\r\n v-show=\"subject === 'Billing'\"></select-input>\r\n <select-input rules=\"max:100\"\r\n label=\"Subject Detail\"\r\n :items=\"claimsOptions\"\r\n v-model=\"subjectDetail\"\r\n v-show=\"subject === 'Claims'\"></select-input>\r\n <select-input rules=\"max:100\"\r\n label=\"Subject Detail\"\r\n :items=\"paymentsOptions\"\r\n v-model=\"subjectDetail\"\r\n v-show=\"subject === 'Payments'\"></select-input>\r\n <select-input rules=\"max:100\"\r\n label=\"Subject Detail\"\r\n :items=\"policyOptions\"\r\n v-model=\"subjectDetail\"\r\n v-show=\"subject === 'Policy'\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"subjectDetail === 'Cancellation'\">\r\n <v-col cols=\"12\">\r\n <v-menu ref=\"cancelEffectiveDateMenu\"\r\n v-model=\"cancelEffectiveDateMenu\"\r\n :close-on-content-click=\"false\"\r\n transition=\"scale-transition\"\r\n offset-y\r\n max-width=\"290px\"\r\n min-width=\"290px\">\r\n <template v-slot:activator=\"{ on }\">\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required\"\r\n name=\"Cancellation Effective Date\"\r\n v-slot=\"{ errors, valid }\"\r\n vid=\"cancelEffective\">\r\n <v-text-field outlined\r\n required\r\n readonly\r\n hide-details=\"auto\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n v-model=\"cancelEffectiveDate\"\r\n label=\"Cancellation Effective Date\"\r\n v-on=\"on\">\r\n <template v-slot:append>\r\n <v-icon>mdi-calendar</v-icon>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-text-field>\r\n </ValidationProvider>\r\n </template>\r\n <v-date-picker v-model=\"cancelEffectiveDate\"\r\n color=\"background-blue\"\r\n no-title\r\n :min=\"minCancellationDate\"\r\n @input=\"cancelEffectiveDateMenu = false\"></v-date-picker>\r\n </v-menu>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col>\r\n <text-area-input rules=\"required|all_allowed_extended|min:4|max:2000\"\r\n label=\"Message\"\r\n autocapitalize=\"sentences\"\r\n minlength=\"4\"\r\n maxlength=\"2000\"\r\n :counter=\"2000\"\r\n v-model=\"message\"></text-area-input>\r\n </v-col>\r\n </v-row>\r\n <!-- REMOVED - Mimecast blocks sending the email to the requestor\r\n <v-row class=\"my-0\">\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <v-checkbox v-model=\"emailCopy\"\r\n class=\"my-0\"\r\n label=\"Send a copy to your email address?\">\r\n </v-checkbox>\r\n </v-col>\r\n </v-row>-->\r\n <v-row justify=\"end\">\r\n <v-col cols=\"12\"\r\n sm=\"7\">\r\n <span role=\"alert\"\r\n v-show=\"!hasCaptcha\"\r\n class=\"text-darkest-red\">Please validate you are not a bot.</span>\r\n <vue-recaptcha ref=\"recaptcha\"\r\n @verify=\"onVerify\"\r\n @expired=\"onExpired\"\r\n :sitekey=\"googleReCaptchaKey\"></vue-recaptcha>\r\n <br />\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-btn block\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">\r\n Send Message\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n <v-row v-show=\"submitted\">\r\n <v-col>\r\n <span class=\"tfb-title-text-smaller text-darkest-blue\">\r\n Thank you!\r\n </span>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import DOMPurify from 'dompurify';\r\n import VueRecaptcha from 'vue-recaptcha';\r\n import { ValidationObserver, ValidationProvider } from 'vee-validate';\r\n import { mask } from 'vue-the-mask';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import RequiredFieldsRow from '@/views/layout/components/RequiredFieldsRow.vue';\r\n\r\n export default {\r\n name: 'AgentContact',\r\n props: {\r\n agentEmail: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbDataMixin, tfbHelperMixin],\r\n directives: { mask },\r\n components: {\r\n ValidationObserver,\r\n ValidationProvider,\r\n VueRecaptcha,\r\n RequiredFieldsRow,\r\n },\r\n data() {\r\n return {\r\n submitted: false,\r\n hasCaptcha: true,\r\n captchaText: '',\r\n fullName: '',\r\n email: '',\r\n phoneNumber: '',\r\n memberNumber: '',\r\n subject: '',\r\n subjectDetail: '',\r\n message: '',\r\n emailCopy: false,\r\n cancelEffectiveDateMenu: false,\r\n cancelEffectiveDate: null,\r\n subjectOptions: [\r\n 'Quote',\r\n 'Policy',\r\n 'Billing',\r\n 'Payments',\r\n 'Claims',\r\n 'Other',\r\n ],\r\n billingOptions: [\r\n 'Address Change',\r\n 'E-bill/Paperless Billing',\r\n 'Payments',\r\n 'Premiums',\r\n 'Recurring Payments',\r\n 'Other',\r\n ],\r\n claimsOptions: [\r\n 'Claim Status',\r\n 'Reporting a Claim',\r\n 'Other',\r\n ],\r\n paymentsOptions: [\r\n 'E-bill/Paperless Billing',\r\n 'Recurring Payments',\r\n 'Other',\r\n ],\r\n policyOptions: [\r\n 'Address Change',\r\n 'Cancellation',\r\n 'Coverage Change',\r\n 'Paperless Notifications',\r\n 'Premiums',\r\n 'Other',\r\n ],\r\n };\r\n },\r\n watch: {\r\n subject() {\r\n this.subjectDetail = null;\r\n this.cancelEffectiveDate = null;\r\n this.$refs.obv.validate();\r\n },\r\n },\r\n computed: {\r\n agreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/agreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n googleReCaptchaKey() {\r\n return process.env.VUE_APP_GOOGLE_RECAPTCHA_KEY;\r\n },\r\n minCancellationDate() {\r\n return this.parseDate(new Date().toISOString());\r\n },\r\n },\r\n mounted() {\r\n // Prefill the contact form if we can\r\n this.fullName = this.$store.getters['member/memberName'];\r\n this.email = this.$store.getters['member/emailAddress'];\r\n this.memberNumber = this.$store.getters['member/memberNumber'];\r\n this.getWebmasterEmail();\r\n },\r\n methods: {\r\n getWebmasterEmail() {\r\n // Get the SpeakWithAnAgent email address\r\n this.$store.dispatch('app/getConfiguration', { sSection: 'Email', sTitle: 'SpeakWithAnAgent' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n this.webmasterMail = response;\r\n }\r\n });\r\n },\r\n onCaptchaSubmit() {\r\n this.$refs.invisibleRecaptcha.execute();\r\n },\r\n onVerify(response) {\r\n this.hasCaptcha = true;\r\n this.captchaText = response;\r\n },\r\n onExpired() {\r\n this.hasCaptcha = false;\r\n this.captchaText = '';\r\n // console.log('Expired');\r\n },\r\n onSubmit() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n if (this.captchaText.length > 0) {\r\n this.$store.dispatch('app/setIsLoading', true);\r\n\r\n // Build the subject text\r\n let subjectText = 'Email from Agent Page';\r\n\r\n if (this.subject && this.subject !== null && this.subject !== '') {\r\n subjectText += ` - ${this.subject}`;\r\n }\r\n\r\n if (this.subjectDetail && this.subjectDetail !== null && this.subjectDetail !== '') {\r\n subjectText += ` - ${this.subjectDetail}`;\r\n }\r\n\r\n // Build the message text\r\n let messageText = `<table><tr><td><b>My comment is regarding:</b></td><td>${subjectText}</td></tr><tr><td colspan='2'></td></tr>`;\r\n messageText += '<tr><td colspan=\\'2\\'><b>Contact Information:</b></td></tr><tr><td><b>Name:</b></td>';\r\n messageText += `<td align='left'>${DOMPurify.sanitize(this.fullName)}</td></tr>`;\r\n messageText += `<tr><td><b>Email:</b></td><td align='left'>${DOMPurify.sanitize(this.email)}</td></tr>`;\r\n messageText += `<tr><td><b>Phone Number:</b></td><td align='left'>${DOMPurify.sanitize(this.phoneNumber)}</td></tr>`;\r\n messageText += `<tr><td><b>Member Number:</b></td><td align='left'>${this.memberNumber}</td></tr>`;\r\n\r\n if (this.agreementNumber && this.agreementNumber !== null && this.agreementNumber !== '') {\r\n messageText += `<tr><td><b>Quote Number:</b></td><td align='left'>${this.agreementNumber}</td></tr>`;\r\n }\r\n\r\n if (this.cancelEffectiveDate && this.cancelEffectiveDate !== null && this.cancelEffectiveDate !== '') {\r\n messageText += `<tr><td><b>Cancellation Effective Date:</b></td><td align='left'>${this.cancelEffectiveDate}</td></tr>`;\r\n }\r\n\r\n messageText += '<tr><td colspan=\\'2\\'><b>Message:</b></td></tr>';\r\n messageText += `<tr><td colspan='2'>${DOMPurify.sanitize(this.message)}</td></tr>`;\r\n messageText += '<tr><td colspan=\\'2\\'></td></tr></table>';\r\n\r\n let ccMessage = this.webmasterMail;\r\n if (this.emailCopy && this.emailCopy === true) {\r\n ccMessage += `;${DOMPurify.sanitize(this.email)}`;\r\n }\r\n\r\n // Send the message\r\n this.$store.dispatch('app/sendMail', {\r\n sBCC: '',\r\n sBody: messageText,\r\n sCC: ccMessage,\r\n sFrom: DOMPurify.sanitize(this.email),\r\n sSubject: subjectText,\r\n sTo: this.agentEmail,\r\n sToken: this.captchaText,\r\n })\r\n .then((response) => {\r\n if (response && response.data) {\r\n const emailResponse = response.data;\r\n if (!emailResponse.ErrorMessage || emailResponse.ErrorMessage === '') {\r\n this.submitted = true;\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', emailResponse.ErrorMessage.toString());\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: emailResponse.ErrorMessage.toString(),\r\n fileName: 'AgentDetails.vue',\r\n methodName: 'onSubmit-Else',\r\n trackerId: this.trackingId,\r\n });\r\n this.hasCaptcha = false;\r\n this.captchaText = '';\r\n }\r\n }\r\n this.$store.dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'AgentDetails.vue',\r\n methodName: 'onSubmit-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n } else {\r\n this.onExpired();\r\n }\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .tfb-agent-request-box {\r\n background: $white;\r\n padding: 30px;\r\n max-width: 600px;\r\n color: $tfb-darkest-blue;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentContact.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentContact.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AgentContact.vue?vue&type=template&id=40cc4569\"\nimport script from \"./AgentContact.vue?vue&type=script&lang=js\"\nexport * from \"./AgentContact.vue?vue&type=script&lang=js\"\nimport style0 from \"./AgentContact.vue?vue&type=style&index=0&id=40cc4569&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div id=\"agent-details\">\r\n <div itemscope\r\n itemtype=\"http://schema.org/Person\"\r\n class=\"background-darker-blue tfb-agent-details\">\r\n <v-container class=\"tfb-smallest-container\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"3\">\r\n <v-skeleton-loader :loading=\"agentLoading\"\r\n type=\"image\"\r\n class=\"mx-auto\">\r\n <v-img contain\r\n v-if=\"agentDetails && agentDetails !== null\"\r\n :src=\"agentDetails.photo\"\r\n class=\"rounded-0 agent-photo mx-auto\"\r\n :alt=\"agentDetails.name\"\r\n max-height=\"240\"\r\n max-width=\"192\"\r\n min-height=\"240\"\r\n min-width=\"192\"\r\n itemprop=\"image\">\r\n <template v-slot:placeholder>\r\n <v-img :src=\"defaultAgentImage\"\r\n alt=\"No Photo Available\"\r\n itemprop=\"image\"\r\n class=\"rounded-0 agent-photo mx-auto\"></v-img>\r\n </template>\r\n <template v-slot:error>\r\n <v-img :src=\"defaultAgentImage\"\r\n alt=\"No Photo Available\"\r\n itemprop=\"image\"\r\n class=\"rounded-0 agent-photo mx-auto\"></v-img>\r\n </template>\r\n </v-img>\r\n <v-img v-else\r\n :src=\"defaultAgentImage\"\r\n class=\"rounded-0 agent-photo mx-auto\"></v-img>\r\n </v-skeleton-loader>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"9\"\r\n align-self=\"center\">\r\n <v-skeleton-loader :loading=\"agentLoading\"\r\n type=\"paragraph\"\r\n class=\"mx-auto\">\r\n <div v-if=\"agentDetails && agentDetails !== null\">\r\n <h1 class=\"tfb-title-text-medium text-uppercase text-blue\"\r\n itemprop=\"name\">\r\n {{agentDetails.name}}\r\n </h1>\r\n <v-container>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"5\">\r\n <span class=\"tfb-header-text-small text-uppercase font-weight-bold\">\r\n Office\r\n </span><br />\r\n <a v-bind:href=\"agentDetails.phoneNumber | linkFormatPhone\"\r\n hreflang=\"en-us\"\r\n itemprop=\"telephone\"\r\n class=\"county-agent-links\">\r\n {{agentDetails.phoneNumber | formatPhone}}\r\n </a><br />\r\n <br />\r\n <span class=\"tfb-header-text-small text-uppercase font-weight-bold\"\r\n v-if=\"agentDetails.faxNumber && agentDetails.faxNumber !== ''\">\r\n Fax\r\n </span><br />\r\n <a v-bind:href=\"agentDetails.faxNumber | linkFormatPhone\"\r\n hreflang=\"en-us\"\r\n itemprop=\"faxNumber\"\r\n class=\"county-agent-links\">\r\n {{agentDetails.faxNumber | formatPhone}}\r\n </a><br />\r\n <br />\r\n <span class=\"tfb-header-text-small text-uppercase font-weight-bold\">\r\n Email\r\n </span><br />\r\n <a v-bind:href=\"agentDetails.emailAddress | linkFormatEmail\"\r\n hreflang=\"en-us\"\r\n class=\"county-agent-links\"\r\n itemprop=\"email\">\r\n {{agentDetails.emailAddress}}\r\n </a><br />\r\n <br />\r\n <a v-bind:href=\"agentFacebook\"\r\n hreflang=\"en-us\"\r\n v-if=\"agentFacebook\"\r\n class=\"county-agent-links\"\r\n target=\"_blank\">\r\n Visit me on Facebook!\r\n </a><br />\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"7\">\r\n <span class=\"tfb-header-text-small text-uppercase font-weight-bold\">\r\n Mailing Address\r\n </span><br />\r\n <div itemprop=\"address\"\r\n itemscope\r\n itemtype=\"http://schema.org/PostalAddress\"\r\n v-if=\"agentDetails.mailingAddressDisplay && agentDetails.mailingAddressDisplay !== null\">\r\n <span v-html=\"agentDetails.mailingAddressDisplay\"></span>\r\n <br />\r\n </div>\r\n <span class=\"tfb-header-text-small text-uppercase font-weight-bold\">\r\n Physical Address\r\n </span><br />\r\n <div itemprop=\"address\"\r\n itemscope\r\n itemtype=\"http://schema.org/PostalAddress\"\r\n v-if=\"agentDetails.physicalAddressDisplay && agentDetails.physicalAddressDisplay !== null\">\r\n <span v-html=\"agentDetails.physicalAddressDisplay\"></span>\r\n <v-icon class=\"mdi-18px tfb-county-icon\">mdi-map-marker</v-icon><a v-bind:href=\"agentDetails.mapUrl\"\r\n hreflang=\"en-us\"\r\n class=\"county-agent-links\"\r\n target=\"_blank\">Directions</a><br />\r\n </div><br />\r\n <a v-bind:href=\"agentWeatherLink\"\r\n hreflang=\"en-us\"\r\n v-if=\"agentWeatherLink\"\r\n class=\"county-agent-links\"\r\n target=\"_blank\">\r\n Sign up for weather alerts!\r\n </a><br />\r\n <script v-if=\"siFiTracking\"\r\n defer\r\n async\r\n type=\"application/javascript\"\r\n :src='`https://tag.simpli.fi/sifitag/${siFiTracking}`'></script>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n <div v-else>\r\n <span class=\"tfb-title-text-small text-white\">\r\n Unable to locate agent information\r\n </span>\r\n </div>\r\n </v-skeleton-loader>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"agentDetails && agentDetails !== null && agentSummary\">\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-small text-uppercase text-blue\">\r\n About {{agentDetails.name}}\r\n </h2>\r\n <p itemprop=\"description\">\r\n {{agentSummary}}\r\n </p>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <span v-if=\"agentDetails && agentDetails !== null\">\r\n <agent-contact :agent-email=\"agentDetails.emailAddress\"></agent-contact>\r\n <blog :header=\"`Resources from ${agentDetails.name}`\"\r\n sub-header=\"\"\r\n :keywords=\"blogKeywords\"></blog>\r\n </span>\r\n </div>\r\n\r\n <agent-map :markers=\"markers\"\r\n :info-window-open=\"true\"></agent-map>\r\n </div>\r\n</template>\r\n<script>\r\n /* eslint no-underscore-dangle: 0 */\r\n /* eslint no-nested-ternary: 0 */\r\n /* eslint no-useless-escape: 0 */\r\n import { dispatch } from 'vuex-pathify';\r\n import Blog from '@/views/blog/components/BlogCards.vue';\r\n import { defaultMarkerIcon } from '@/mixins/googleSettings';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import AgentContact from './components/AgentContact.vue';\r\n import AgentMap from './components/AgentMap.vue';\r\n\r\n export default {\r\n name: 'AgentDetails',\r\n mixins: [tfbDataMixin, tfbMetaMixin, tfbHelperMixin],\r\n components: {\r\n Blog,\r\n AgentMap,\r\n AgentContact,\r\n },\r\n data() {\r\n return {\r\n agentLoading: false,\r\n agentDetails: null,\r\n agentFacebook: null,\r\n agentSummary: null,\r\n agentWeatherDescription: null,\r\n agentWeatherLink: null,\r\n siFiTracking: null,\r\n markers: [{\r\n infoText: 'Texas Farm Bureau Home Office',\r\n position: { lat: 31.5248446, lng: -97.2181 },\r\n }],\r\n };\r\n },\r\n computed: {\r\n metaDescription() {\r\n if (this.agentDetails && this.agentDetails !== null) {\r\n return `Learn more about ${this.agentDetails.name}, a Texas Farm Bureau Insurance agent in ${this.agentDetails.countyName} County`;\r\n }\r\n\r\n if (this.$store.state.location.countyName) {\r\n return `Learn more about this Texas Farm Bureau Insurance agent in ${this.$store.state.location.countyName} County`;\r\n }\r\n\r\n return 'Learn more about this Texas Farm Bureau Insurance agent';\r\n },\r\n metaPageTitle() {\r\n if (this.agentDetails && this.agentDetails !== null) {\r\n return `${this.agentDetails.name} | ${this.agentDetails.countyName} County`;\r\n }\r\n\r\n if (this.$store.state.location.countyName) {\r\n return `Agent Information | ${this.$store.state.location.countyName} County`;\r\n }\r\n\r\n return 'Agent Information';\r\n },\r\n metaUrl() {\r\n let agentUrl = `https://${window.location.host}/insurance/agent/`;\r\n\r\n if (this.agentDetails && this.agentDetails !== null) {\r\n const countyName = this.replaceAll(this.agentDetails.countyName, ' ', '-').toLowerCase();\r\n const agentName = this.replaceAll(this.replaceAll(this.replaceAll(this.agentDetails.name, ' ', '-'), '.', ''), ',', '').toLowerCase();\r\n agentUrl += `${countyName}/${agentName}/${this.$route.params.id}`;\r\n } else {\r\n agentUrl += `${this.$route.params.id}`;\r\n }\r\n\r\n return agentUrl;\r\n },\r\n headerImage() {\r\n return this.agentDetails && this.agentDetails !== null ? this.agentDetails.photo : this.defaultHeaderImage;\r\n },\r\n blogKeywords() {\r\n return [\r\n (this.agentDetails && this.agentDetails !== null ? this.agentDetails.name : (this.$route.params.name ? this.replaceAll(this.$route.params.name, '-', ' ') : 'agent')),\r\n (this.agentDetails && this.agentDetails !== null ? `${this.agentDetails.countyName} County`\r\n : (this.$store.state.location.countyName ? this.$store.state.location.countyName\r\n : (this.$route.params.county ? this.$route.params.county : 'county')))];\r\n },\r\n },\r\n methods: {\r\n async getAgentInformation(agentCode) {\r\n await dispatch('agentcounty/getAgentDetails', { sAgentCode: agentCode, sDistance: 0, sTfbId: this.trackingId })\r\n .then((detailResponse) => {\r\n if (detailResponse && (detailResponse.errorMessage === null || detailResponse.errorMessage === '')) {\r\n // Save the agent code to the store in case this user goes to a quote\r\n dispatch('app/setQuoteAgentCode', agentCode);\r\n\r\n this.agentDetails = detailResponse;\r\n\r\n this.markers.pop();\r\n this.markers.push({\r\n infoText: this.agentDetails.agentMapInfoBox,\r\n position: {\r\n lat: Number(this.agentDetails.latitude),\r\n lng: Number(this.agentDetails.longitude),\r\n },\r\n icon: defaultMarkerIcon,\r\n });\r\n this.agentLoading = false;\r\n\r\n this.$store.dispatch('app/getAgentDetails', { sAgentCode: agentCode, sTfbId: this.trackingId })\r\n .then((listResponse) => {\r\n if (listResponse) {\r\n if (listResponse.FacebookLink) {\r\n this.agentFacebook = listResponse.FacebookLink.Url;\r\n }\r\n if (listResponse.AgentSummary) {\r\n const telephoneReplace = /(http:\\/\\/tfbtel\\.)/igm;\r\n const telephoneReplaceAlt = /(http:\\/\\/tfbtel\\.)/igm;\r\n this.agentSummary = listResponse.AgentSummary.replace(telephoneReplace, 'tel:').replace(telephoneReplaceAlt, 'tel:');\r\n }\r\n if (listResponse.SevereWeatherAlertLink) {\r\n this.agentWeatherDescription = 'Sign up for weather alerts!';\r\n this.agentWeatherLink = listResponse.SevereWeatherAlertLink.Url;\r\n }\r\n if (listResponse.SiFiTag) {\r\n this.siFiTracking = listResponse.SiFiTag;\r\n }\r\n }\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n } else {\r\n this.agentLoading = false;\r\n dispatch('app/setErrorMessage', { ErrorMessage: detailResponse.errorMessage });\r\n }\r\n })\r\n .catch(() => {\r\n this.agentLoading = false;\r\n dispatch('app/setErrorMessage');\r\n });\r\n },\r\n async getAgentCodeByEmail(agentName) {\r\n await dispatch('agentcounty/getAgentCodeByEmail', { sAgentEmail: `${agentName}@txfb-ins.com`, sTfbId: this.trackingId })\r\n .then((codeResponse) => {\r\n if (codeResponse && codeResponse._agentCode) {\r\n this.getAgentInformation(codeResponse._agentCode);\r\n } else {\r\n this.agentLoading = false;\r\n dispatch('app/setErrorMessage');\r\n }\r\n })\r\n .catch(() => {\r\n this.agentLoading = false;\r\n dispatch('app/setErrorMessage');\r\n });\r\n },\r\n },\r\n mounted() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n this.agentLoading = true;\r\n\r\n // How are we looking up the agent information?\r\n if (this.$route.params.id && this.$route.params.id !== 'undefined') {\r\n if (Number.isNaN(this.$route.params.id)) {\r\n // This is not a number, so assuming a name of some sort\r\n this.getAgentCodeByEmail(this.$route.params.id);\r\n } else {\r\n // This is a number, so assuming it's the agent code\r\n this.getAgentInformation(this.$route.params.id);\r\n }\r\n } else if (this.$route.params.name && this.$route.params.name !== 'undefined') {\r\n // This is a name of some sort\r\n this.getAgentCodeByEmail(this.$route.params.name);\r\n } else if (this.$route.query.a && this.$route.params.a !== 'undefined') {\r\n // Assuming this is the agent code\r\n this.getAgentInformation(this.$route.query.a);\r\n } else {\r\n // Nothing we can use to look up the information\r\n this.agentLoading = false;\r\n\r\n // Redirect back to the county lookup\r\n this.$router.push({ name: 'countyLookup' });\r\n }\r\n\r\n dispatch('app/setIsLoading', false);\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n.tfb-agent-details {\r\n padding-top: 50px;\r\n /*padding-bottom: 150px;*/\r\n color: $white;\r\n}\r\n\r\n.tfb-agent-request-box {\r\n background: $white;\r\n padding: 30px;\r\n max-width: 600px;\r\n}\r\n\r\n.agent-photo {\r\n max-height: 240px;\r\n max-width: 192px;\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentDetails.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentDetails.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AgentDetails.vue?vue&type=template&id=33a1a662\"\nimport script from \"./AgentDetails.vue?vue&type=script&lang=js\"\nexport * from \"./AgentDetails.vue?vue&type=script&lang=js\"\nimport style0 from \"./AgentDetails.vue?vue&type=style&index=0&id=33a1a662&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"agentListing\"}},[_c('h1',{staticClass:\"tfb-title-text-large text-center\"},[_vm._v(\"Agent Index\")]),_c('v-container',{attrs:{\"fluid\":\"\"}},[(!_vm.agentLoading && _vm.agentsByCountyList.length > 0)?_c('v-row',_vm._l((_vm.agentsByCountyList),function(county){return _c('v-col',{key:county.key,attrs:{\"cols\":\"12\"}},[_c('h2',[_vm._v(_vm._s(county[0]))]),_vm._l((county[1]),function(agent){return _c('div',{key:agent.id},[_c('a',{attrs:{\"href\":agent.agentUrl,\"hreflang\":\"en-us\",\"aria-label\":agent.agentName}},[_vm._v(_vm._s(agent.agentUrl))])])})],2)}),1):_vm._e(),(!_vm.agentLoading && _vm.agentsByCountyList.length <= 0)?_c('v-row',[_vm._v(\" No Agents Available! \")]):_vm._e(),(_vm.agentLoading)?_c('v-row',_vm._l((3),function(i){return _c('v-col',{key:i,attrs:{\"cols\":\"12\"}},[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"300\",\"type\":\"list-item\"}})],1)}),1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"agentListing\">\r\n <h1 class=\"tfb-title-text-large text-center\">Agent Index</h1>\r\n <v-container fluid>\r\n <v-row v-if=\"!agentLoading && agentsByCountyList.length > 0\">\r\n <v-col cols=\"12\"\r\n v-for=\"county in agentsByCountyList\"\r\n v-bind:key=\"county.key\">\r\n <h2>{{county[0]}}</h2>\r\n <div v-for=\"agent in county[1]\"\r\n v-bind:key=\"agent.id\">\r\n <a :href=\"agent.agentUrl\"\r\n hreflang=\"en-us\"\r\n :aria-label=\"agent.agentName\">{{agent.agentUrl}}</a>\r\n </div>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"!agentLoading && agentsByCountyList.length <= 0\">\r\n No Agents Available!\r\n </v-row>\r\n <v-row v-if=\"agentLoading\">\r\n <v-col cols=\"12\"\r\n v-for=\"i in 3\"\r\n :key=\"i\">\r\n <v-skeleton-loader class=\"mx-auto\"\r\n max-width=\"300\"\r\n type=\"list-item\"></v-skeleton-loader>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n /* eslint no-underscore-dangle: 0 */\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n\r\n export default {\r\n name: 'AgentListing',\r\n mixins: [tfbHelperMixin, tfbMetaMixin],\r\n data() {\r\n return {\r\n agentLoading: true,\r\n agentList: [],\r\n agentsList: [],\r\n agentsByCountyList: [],\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Insurance Agent Index';\r\n },\r\n metaDescription() {\r\n return 'Find an agent near you with Texas Farm Bureau Insurance\\'s agent index.';\r\n },\r\n metaUrl() {\r\n return `https://${window.location.host}/insurance/agent/listing`;\r\n },\r\n },\r\n methods: {\r\n loadAgents() {\r\n this.agentLoading = true;\r\n this.$store.dispatch('agentcounty/getAgentList', { sTfbId: this.trackingId })\r\n .then((foundAgents) => {\r\n if (foundAgents !== null && foundAgents.data !== null && foundAgents.data.length > 0) {\r\n for (let a = 0; a < foundAgents.data.length; a += 1) {\r\n const agent = foundAgents.data[a];\r\n const countyName = this.replaceAll(agent._countyName, ' ', '-').toLowerCase();\r\n const agentName = this.replaceAll(this.replaceAll(this.replaceAll(agent._agentName, ' ', '-'), '.', ''), ',', '').toLowerCase();\r\n\r\n this.agentList.push({\r\n id: a,\r\n agentUrl: `https://${window.location.host}/insurance/agent/${countyName}/${agentName}/${agent._agentCode}`,\r\n agentName: agent._agentName,\r\n countyName: agent._countyName,\r\n });\r\n }\r\n\r\n // this.agentsByCountyList = this.agentList.groupBy(({ countyName }) => countyName);\r\n this.agentsList = Object.groupBy(this.agentList, e => e.countyName);\r\n this.agentsByCountyList = Object.entries(this.agentsList);\r\n }\r\n this.agentLoading = false;\r\n })\r\n .catch(() => {\r\n this.agentLoading = false;\r\n });\r\n },\r\n },\r\n created() {\r\n this.loadAgents();\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentListing.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentListing.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AgentListing.vue?vue&type=template&id=83256740\"\nimport script from \"./AgentListing.vue?vue&type=script&lang=js\"\nexport * from \"./AgentListing.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"county-details\"}},[_c('div',{staticClass:\"background-darker-blue tfb-county-details\",attrs:{\"itemscope\":\"\",\"itemtype\":\"http://schema.org/InsuranceAgency\"}},[_c('v-container',{staticClass:\"tfb-smaller-container\"},[(_vm.countyOfficeName && _vm.countyOfficeName !== '')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"align-self\":\"center\"}},[_c('h1',{staticClass:\"tfb-title-text-medium text-uppercase text-blue\",attrs:{\"itemprop\":\"name\"}},[_vm._v(\" \"+_vm._s(_vm.displayPageTitle)+\" \")])])],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"align-self\":\"start\"}},[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"loading\":_vm.countyLoading,\"type\":\"article\"}},[(_vm.countyOffice && _vm.countyOffice !== null)?_c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"5\"}},[_c('span',{staticClass:\"tfb-header-text-small text-uppercase font-weight-bold\"},[_vm._v(\" Office \")]),_c('br'),_c('a',{staticClass:\"county-agent-links\",attrs:{\"href\":_vm._f(\"linkFormatPhone\")(_vm.countyOffice.phoneNumber),\"itemprop\":\"telephone\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"formatPhone\")(_vm.countyOffice.phoneNumber))+\" \")]),_c('br'),_c('br'),(_vm.countyOffice.faxNumber && _vm.countyOffice.faxNumber !== '')?_c('span',{staticClass:\"tfb-header-text-small text-uppercase font-weight-bold\"},[_vm._v(\" Fax\"),_c('br')]):_vm._e(),_c('a',{staticClass:\"county-agent-links\",attrs:{\"href\":_vm._f(\"linkFormatPhone\")(_vm.countyOffice.faxNumber),\"itemprop\":\"faxNumber\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"formatPhone\")(_vm.countyOffice.faxNumber))+\" \")]),_c('br')]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"7\",\"align-self\":\"center\"}},[_c('span',{staticClass:\"tfb-header-text-small text-uppercase font-weight-bold\"},[_vm._v(\" Mailing Address \")]),_c('br'),(_vm.countyOffice.mailingAddressDisplay && _vm.countyOffice.mailingAddressDisplay !== null)?_c('div',{attrs:{\"itemprop\":\"address\",\"itemscope\":\"\",\"itemtype\":\"http://schema.org/PostalAddress\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.countyOffice.mailingAddressDisplay)}}),_c('br'),_c('br')]):_vm._e(),_c('span',{staticClass:\"tfb-header-text-small text-uppercase font-weight-bold\"},[_vm._v(\" Physical Address \")]),_c('br'),(_vm.countyOffice.physicalAddressDisplay && _vm.countyOffice.physicalAddressDisplay !== null)?_c('div',{attrs:{\"itemprop\":\"address\",\"itemscope\":\"\",\"itemtype\":\"http://schema.org/PostalAddress\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.countyOffice.physicalAddressDisplay)}}),_c('v-icon',{staticClass:\"mdi-18px tfb-county-icon\"},[_vm._v(\"mdi-map-marker\")]),_c('a',{staticClass:\"county-agent-links\",attrs:{\"href\":_vm.countyOffice.mapUrl,\"hreflang\":\"en-us\"}},[_vm._v(\"Directions\")]),_c('br'),(_vm.siFiTracking)?_c('script',{attrs:{\"defer\":\"\",\"async\":\"\",\"type\":\"application/javascript\",\"src\":`https://tag.simpli.fi/sifitag/${_vm.siFiTracking}`}}):_vm._e()],1):_vm._e()])],1)],1):_c('div',[_c('span',{staticClass:\"tfb-title-text-small text-blue\"},[_vm._v(\" Unable to locate office information \")])])],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"align-self\":\"start\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-uppercase text-blue\"},[_vm._v(\" Agents \")]),_c('v-container',[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"loading\":_vm.agentLoading,\"type\":\"text\"}},[(_vm.sortedAgents.length > 0)?_c('v-row',{attrs:{\"no-gutters\":\"\"}},_vm._l((_vm.sortedAgents),function(agent){return _c('v-col',{key:agent.code,attrs:{\"cols\":\"12\",\"itemprop\":\"employee\",\"itemscope\":\"\",\"itemtype\":\"http://schema.org/employee\"}},[_c('router-link',{staticClass:\"county-agent-links\",attrs:{\"to\":{ name: 'insuranceAgentFull', params: { id: agent.code, county: _vm.replaceAll(agent.county, ' ', '-').toLowerCase(),\n name: _vm.replaceAll(_vm.replaceAll(_vm.replaceAll(agent.name, ' ', '-'), '.', ''), ',', '').toLowerCase() } },\"itemprop\":\"url\",\"hreflang\":\"en-us\"}},[_c('span',{attrs:{\"itemprop\":\"name\"}},[_vm._v(_vm._s(agent.name))])]),(agent.designation === 'Agency Manager')?_c('span',[_vm._v(\" — \"),_c('span',{attrs:{\"itemprop\":\"jobTitle\"}},[_vm._v(_vm._s(agent.designation))])]):_vm._e()],1)}),1):_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" No active agents found for this office \")])],1)],1)],1)],1)],1),(_vm.countyOfficeName && _vm.countyOfficeName !== '' && _vm.countySummary && _vm.countySummary !== null)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"county-agent-summary\",attrs:{\"itemprop\":\"description\"},domProps:{\"innerHTML\":_vm._s(_vm.countySummary)}})])],1):_vm._e()],1),(_vm.countyOfficeName && _vm.countyOfficeName !== '')?_c('div',[_c('blog',{attrs:{\"header\":`Resources from ${_vm.countyOfficeName} County`,\"sub-header\":\"\",\"keywords\":_vm.blogKeywords}})],1):_vm._e()],1),_c('v-container',{staticClass:\"px-0\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('faqs',{attrs:{\"faq-keyword\":`${_vm.countyOfficeName} County`,\"faq-title\":`Frequently Asked Questions (FAQs) about Texas Farm Bureau Insurance in ${_vm.countyOfficeName} County`}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('agent-map',{attrs:{\"markers\":_vm.markers,\"info-window-open\":true}})],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"county-details\">\r\n <div itemscope\r\n itemtype=\"http://schema.org/InsuranceAgency\"\r\n class=\"background-darker-blue tfb-county-details\">\r\n <v-container class=\"tfb-smaller-container\">\r\n <v-row v-if=\"countyOfficeName && countyOfficeName !== ''\">\r\n <v-col cols=\"12\"\r\n align-self=\"center\">\r\n <h1 class=\"tfb-title-text-medium text-uppercase text-blue\"\r\n itemprop=\"name\">\r\n {{displayPageTitle}}\r\n </h1>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n align-self=\"start\">\r\n <v-skeleton-loader :loading=\"countyLoading\"\r\n type=\"article\"\r\n class=\"mx-auto\">\r\n <v-container v-if=\"countyOffice && countyOffice !== null\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"5\">\r\n <span class=\"tfb-header-text-small text-uppercase font-weight-bold\">\r\n Office\r\n </span><br />\r\n <a v-bind:href=\"countyOffice.phoneNumber | linkFormatPhone\"\r\n itemprop=\"telephone\"\r\n class=\"county-agent-links\">\r\n {{countyOffice.phoneNumber | formatPhone}}\r\n </a><br /><br />\r\n <span class=\"tfb-header-text-small text-uppercase font-weight-bold\"\r\n v-if=\"countyOffice.faxNumber && countyOffice.faxNumber !== ''\">\r\n Fax<br />\r\n </span>\r\n <a v-bind:href=\"countyOffice.faxNumber | linkFormatPhone\"\r\n itemprop=\"faxNumber\"\r\n class=\"county-agent-links\">\r\n {{countyOffice.faxNumber | formatPhone}}\r\n </a><br />\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"7\"\r\n align-self=\"center\">\r\n <span class=\"tfb-header-text-small text-uppercase font-weight-bold\">\r\n Mailing Address\r\n </span><br />\r\n <div itemprop=\"address\"\r\n itemscope\r\n itemtype=\"http://schema.org/PostalAddress\"\r\n v-if=\"countyOffice.mailingAddressDisplay && countyOffice.mailingAddressDisplay !== null\">\r\n <span v-html=\"countyOffice.mailingAddressDisplay\"></span><br />\r\n <br />\r\n </div>\r\n <span class=\"tfb-header-text-small text-uppercase font-weight-bold\">\r\n Physical Address\r\n </span><br />\r\n <div itemprop=\"address\"\r\n itemscope\r\n itemtype=\"http://schema.org/PostalAddress\"\r\n v-if=\"countyOffice.physicalAddressDisplay && countyOffice.physicalAddressDisplay !== null\">\r\n <span v-html=\"countyOffice.physicalAddressDisplay\"></span>\r\n <v-icon class=\"mdi-18px tfb-county-icon\">mdi-map-marker</v-icon><a v-bind:href=\"countyOffice.mapUrl\"\r\n hreflang=\"en-us\"\r\n class=\"county-agent-links\">Directions</a><br />\r\n <script v-if=\"siFiTracking\"\r\n defer\r\n async\r\n type=\"application/javascript\"\r\n :src='`https://tag.simpli.fi/sifitag/${siFiTracking}`'></script>\r\n </div>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <div v-else>\r\n <span class=\"tfb-title-text-small text-blue\">\r\n Unable to locate office information\r\n </span>\r\n </div>\r\n </v-skeleton-loader>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n align-self=\"start\">\r\n <h2 class=\"tfb-title-text-small text-uppercase text-blue\">\r\n Agents\r\n </h2>\r\n <v-container>\r\n <v-skeleton-loader :loading=\"agentLoading\"\r\n type=\"text\"\r\n class=\"mx-auto\">\r\n <v-row no-gutters\r\n v-if=\"sortedAgents.length > 0\">\r\n <v-col cols=\"12\"\r\n v-for=\"agent in sortedAgents\"\r\n v-bind:key=\"agent.code\"\r\n itemprop=\"employee\"\r\n itemscope\r\n itemtype=\"http://schema.org/employee\">\r\n <router-link :to=\"{ name: 'insuranceAgentFull', params: { id: agent.code, county: replaceAll(agent.county, ' ', '-').toLowerCase(),\r\n name: replaceAll(replaceAll(replaceAll(agent.name, ' ', '-'), '.', ''), ',', '').toLowerCase() } }\"\r\n class=\"county-agent-links\"\r\n itemprop=\"url\"\r\n hreflang=\"en-us\">\r\n <span itemprop=\"name\">{{agent.name}}</span>\r\n </router-link>\r\n <span v-if=\"agent.designation === 'Agency Manager'\">\r\n — <span itemprop=\"jobTitle\">{{agent.designation}}</span>\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row v-else>\r\n <v-col cols=\"12\">\r\n No active agents found for this office\r\n </v-col>\r\n </v-row>\r\n </v-skeleton-loader>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"countyOfficeName && countyOfficeName !== '' && countySummary && countySummary !== null\">\r\n <v-col cols=\"12\">\r\n <span itemprop=\"description\"\r\n class=\"county-agent-summary\"\r\n v-html=\"countySummary\"></span>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <div v-if=\"countyOfficeName && countyOfficeName !== ''\">\r\n <blog :header=\"`Resources from ${countyOfficeName} County`\"\r\n sub-header=\"\"\r\n :keywords=\"blogKeywords\"></blog>\r\n </div>\r\n </div>\r\n <v-container fluid\r\n class=\"px-0\">\r\n <v-row no-gutters>\r\n <v-col cols=\"12\"\r\n md=\"6\">\r\n <faqs :faq-keyword=\"`${countyOfficeName} County`\"\r\n :faq-title=\"`Frequently Asked Questions (FAQs) about Texas Farm Bureau Insurance in ${countyOfficeName} County`\"></faqs>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\">\r\n <agent-map :markers=\"markers\"\r\n :info-window-open=\"true\"></agent-map>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n /* eslint no-underscore-dangle: 0 */\r\n /* eslint no-nested-ternary: 0 */\r\n /* eslint no-param-reassign: 0 */\r\n import Faqs from '@/views/content/components/FAQs.vue';\r\n import Blog from '@/views/blog/components/BlogCards.vue';\r\n import { defaultMarkerIcon } from '@/mixins/googleSettings';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import AgentMap from './components/AgentMap.vue';\r\n\r\n export default {\r\n name: 'CountyDetails',\r\n mixins: [tfbDataMixin, tfbMetaMixin, tfbHelperMixin],\r\n components: {\r\n Blog,\r\n Faqs,\r\n AgentMap,\r\n },\r\n data() {\r\n return {\r\n countyOfficeName: '',\r\n seoTitle: null,\r\n seoDescription: null,\r\n seoKeywords: null,\r\n pageTitle: null,\r\n agentLoading: true,\r\n countyLoading: true,\r\n countyOffice: null,\r\n countySummary: null,\r\n siFiTracking: null,\r\n agentList: [],\r\n markers: [],\r\n };\r\n },\r\n computed: {\r\n metaDescription() {\r\n if (this.seoDescription && this.seoDescription !== null) {\r\n return this.seoDescription;\r\n }\r\n\r\n if (this.countyOffice) {\r\n return `Learn more about the Texas Farm Bureau Insurance office in ${this.countyOffice.name} County`;\r\n }\r\n\r\n return 'Learn more about this Texas Farm Bureau Insurance office';\r\n },\r\n metaKeywords() {\r\n if (this.seoKeywords && this.seoKeywords !== null) {\r\n return this.seoKeywords;\r\n }\r\n\r\n return this.defaultMetaKeywords;\r\n },\r\n metaPageTitle() {\r\n return this.seoTitle ? this.seoTitle : (this.countyOffice ? `${this.countyOffice.name} County` : this.siteName);\r\n },\r\n metaUrl() {\r\n let pageUrl = `${process.env.VUE_APP_ROOT_URI}/county/details/${this.$route.params.county}`;\r\n\r\n if (this.$route.params.branch) {\r\n pageUrl += `/${this.$route.params.branch}`;\r\n }\r\n\r\n return pageUrl;\r\n },\r\n displayPageTitle() {\r\n return this.pageTitle ? this.pageTitle : (this.countyOffice ? `Office Serving ${this.countyOffice.name} County` : this.siteName);\r\n },\r\n blogKeywords() {\r\n return [`${this.replaceAll(this.$route.params.county, '-', '')} County`, (this.countyOffice ? `${this.countyOffice.name.countyName} County` : 'county')];\r\n },\r\n sortedAgents() {\r\n function surnameName(a, b) {\r\n if (a.designation < b.designation) return -1;\r\n if (a.designation > b.designation) return 1;\r\n if (a.lastName < b.lastName) return -1;\r\n if (a.lastName > b.lastName) return 1;\r\n if (a.firstName < b.firstName) return -1;\r\n if (a.firstName > b.firstName) return 1;\r\n return 0;\r\n }\r\n // return this.agentList.sort(surnameName); // sorts in-place\r\n return [...this.agentList].sort(surnameName); // shallow clone + sort\r\n },\r\n },\r\n methods: {\r\n getCountyInformation(countyName, branchCode) {\r\n this.$store.dispatch('agentcounty/getOfficesByCounty', { sCountyName: countyName, sBranchCode: branchCode, sTfbId: this.trackingId })\r\n .then((response) => {\r\n if (response && response.length > 0) {\r\n // eslint-disable-next-line prefer-destructuring\r\n this.countyOffice = response[0];\r\n this.countyOfficeName = this.countyOffice.name;\r\n\r\n // Add the county office to the map\r\n this.markers.push(\r\n {\r\n infoText: this.countyOffice.officeMapInfoBox,\r\n position: {\r\n lat: Number(this.countyOffice.latitude),\r\n lng: Number(this.countyOffice.longitude),\r\n },\r\n icon: defaultMarkerIcon,\r\n },\r\n );\r\n this.countyLoading = false;\r\n\r\n this.$store.dispatch('agentcounty/getAgentsByOffice', { sCountyName: countyName, sBranchCode: branchCode, sTfbId: this.trackingId })\r\n .then((agentResponse) => {\r\n if (agentResponse && agentResponse.data && agentResponse.data._agents) {\r\n for (let a = 0; a < agentResponse.data._agents.length; a += 1) {\r\n const agent = agentResponse.data._agents[a];\r\n\r\n // TODO: Get county/branch from getAgentDetails\r\n this.$store.dispatch('agentcounty/getAgentDetails', { sAgentCode: agent._agentCode, sDistance: 0, sTfbId: this.trackingId })\r\n .then((detailResponse) => {\r\n if (detailResponse) {\r\n detailResponse.county = countyName;\r\n detailResponse.branchCode = branchCode;\r\n this.agentList.push(detailResponse);\r\n this.agentList.sort();\r\n }\r\n this.agentLoading = false;\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.agentLoading = false;\r\n });\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.agentLoading = false;\r\n });\r\n\r\n this.$store.dispatch('app/getCountyDetails', { sCountyName: countyName, sBranchCode: branchCode, sTfbId: this.trackingId })\r\n .then((listResponse) => {\r\n if (listResponse && listResponse.CountySummary) {\r\n if (listResponse.CountySummary) {\r\n // For some reason, SharePoint won't let you have \"tel:\" links in HTML fields (it will strip them out)\r\n // To work around this, click-to-call links are setup as such: http://tfbtel.(phonenumber)\r\n // We then replace \"http://tfbtel.\" with the appropriate \"tel:\"\r\n const telephoneReplace = /(http:\\/\\/tfbtel\\.)/igm;\r\n const telephoneReplaceAlt = /(http:\\/\\/tfbtel\\.)/igm;\r\n this.countySummary = listResponse.CountySummary.replace(telephoneReplace, 'tel:').replace(telephoneReplaceAlt, 'tel:');\r\n }\r\n if (listResponse.SeoDescription) {\r\n this.metaDescription = listResponse.SeoDescription;\r\n }\r\n if (listResponse.SeoTitle) {\r\n this.seoTitle = listResponse.SeoTitle;\r\n }\r\n if (listResponse.SeoDescription) {\r\n this.seoDescription = listResponse.SeoDescription;\r\n }\r\n if (listResponse.SeoKeywords1) {\r\n this.seoKeywords = listResponse.SeoKeywords1;\r\n }\r\n if (listResponse.HeaderText) {\r\n this.pageTitle = listResponse.HeaderText;\r\n }\r\n if (listResponse.SiFiTag) {\r\n this.siFiTracking = listResponse.SiFiTag;\r\n }\r\n }\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } else {\r\n this.countyLoading = false;\r\n this.agentLoading = false;\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.agentLoading = false;\r\n this.countyLoading = false;\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n },\r\n mounted() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/setIsLoading', true);\r\n\r\n if (this.$route.params.county === 'undefined') {\r\n this.$router.push({ name: 'countyLookup' });\r\n }\r\n this.getCountyInformation(this.$route.params.county, this.$route.params.branch);\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfb-county-details {\r\n padding-top: 25px;\r\n color: $white;\r\n }\r\n\r\n .google-map {\r\n min-height: 500px;\r\n max-height: 1000px;\r\n width: 100%;\r\n }\r\n\r\n a.county-agent-links,\r\n a:visited.county-agent-links,\r\n .county-agent-summary a,\r\n .county-agent-summary a:visited {\r\n color: $white;\r\n text-decoration: underline;\r\n }\r\n\r\n a:hover.county-agent-links,\r\n .county-agent-summary a:hover{\r\n color: $white;\r\n text-decoration: none;\r\n }\r\n\r\n .county-agent-summary h2 {\r\n font-family: 'BS-light', $body-font-family;\r\n font-weight: 400;\r\n font-style: normal;\r\n font-size: 28px;\r\n }\r\n .tfb-county-icon.theme--light.v-icon {\r\n color: $white;\r\n text-decoration: none !important;\r\n margin: 0px 5px;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CountyDetails.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CountyDetails.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CountyDetails.vue?vue&type=template&id=6472d230\"\nimport script from \"./CountyDetails.vue?vue&type=script&lang=js\"\nexport * from \"./CountyDetails.vue?vue&type=script&lang=js\"\nimport style0 from \"./CountyDetails.vue?vue&type=style&index=0&id=6472d230&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"countyListing\"}},[_c('h1',{staticClass:\"tfb-title-text-large text-center\"},[_vm._v(\"County Office Listing\")]),_c('v-container',{attrs:{\"fluid\":\"\"}},[(!_vm.countyLoading && _vm.countyList.length > 0)?_c('v-row',_vm._l((_vm.countyList),function(county){return _c('v-col',{key:county.id,attrs:{\"cols\":\"12\"}},[_c('a',{attrs:{\"href\":county.countyUrl,\"hreflang\":\"en-us\",\"aria-label\":county.countyName}},[_vm._v(_vm._s(county.countyUrl))])])}),1):_vm._e(),(!_vm.countyLoading && _vm.countyList.length <= 0)?_c('v-row',[_vm._v(\" No County Offices Available! \")]):_vm._e(),(_vm.countyLoading)?_c('v-row',_vm._l((3),function(i){return _c('v-col',{key:i,attrs:{\"cols\":\"12\"}},[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"300\",\"type\":\"list-item\"}})],1)}),1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"countyListing\">\r\n <h1 class=\"tfb-title-text-large text-center\">County Office Listing</h1>\r\n <v-container fluid>\r\n <v-row v-if=\"!countyLoading && countyList.length > 0\">\r\n <v-col cols=\"12\"\r\n v-for=\"county in countyList\"\r\n v-bind:key=\"county.id\">\r\n <a :href=\"county.countyUrl\"\r\n hreflang=\"en-us\"\r\n :aria-label=\"county.countyName\">{{county.countyUrl}}</a>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"!countyLoading && countyList.length <= 0\">\r\n No County Offices Available!\r\n </v-row>\r\n <v-row v-if=\"countyLoading\">\r\n <v-col cols=\"12\"\r\n v-for=\"i in 3\"\r\n :key=\"i\">\r\n <v-skeleton-loader class=\"mx-auto\"\r\n max-width=\"300\"\r\n type=\"list-item\"></v-skeleton-loader>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n /* eslint no-underscore-dangle: 0 */\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n\r\n export default {\r\n name: 'CountyListing',\r\n mixins: [tfbHelperMixin, tfbMetaMixin],\r\n data() {\r\n return {\r\n countyLoading: true,\r\n countyList: [],\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Find Insurance Agents by County';\r\n },\r\n metaDescription() {\r\n return 'Find insurance agents by your county across Texas.';\r\n },\r\n metaUrl() {\r\n return `https://${window.location.host}/county/listing`;\r\n },\r\n },\r\n methods: {\r\n loadAgents() {\r\n this.countyLoading = true;\r\n this.$store.dispatch('agentcounty/getCountyList', { sTfbId: this.trackingId })\r\n .then((foundCounties) => {\r\n if (foundCounties !== null && foundCounties.data !== null && foundCounties.data._counties !== null && foundCounties.data._counties.length > 0) {\r\n for (let c = 0; c < foundCounties.data._counties.length; c += 1) {\r\n const county = foundCounties.data._counties[c];\r\n this.$store.dispatch('agentcounty/getOfficesByCounty', { sCountyName: county._countyName, sTfbId: this.trackingId })\r\n .then((foundOffices) => {\r\n if (foundOffices !== null && foundOffices.length > 0) {\r\n for (let o = 0; o < foundOffices.length; o += 1) {\r\n const office = foundOffices[o];\r\n const cleanCountyName = this.replaceAll(office.name, ' ', '-').toLowerCase();\r\n let builtCountyUrl = `https://${window.location.host}/county/details/${cleanCountyName}`;\r\n\r\n if (office.branchCode && office.branchCode !== null && office.branchCode !== '') {\r\n builtCountyUrl = `${builtCountyUrl}/${office.branchCode.toLowerCase()}`;\r\n }\r\n\r\n this.countyList.push({\r\n id: office.officeNumber,\r\n countyUrl: builtCountyUrl,\r\n countyName: cleanCountyName,\r\n });\r\n }\r\n }\r\n this.countyLoading = false;\r\n })\r\n .catch(() => {\r\n this.countyLoading = false;\r\n });\r\n }\r\n }\r\n this.countyLoading = false;\r\n })\r\n .catch(() => {\r\n this.countyLoading = false;\r\n });\r\n },\r\n },\r\n created() {\r\n this.loadAgents();\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CountyListing.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CountyListing.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CountyListing.vue?vue&type=template&id=9c030a56\"\nimport script from \"./CountyListing.vue?vue&type=script&lang=js\"\nexport * from \"./CountyListing.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"background-darker-blue py-12\"},[_c('h1',{staticClass:\"tfb-title-text-large text-center\"},[_vm._v(\"File A Claim\")]),_c('p',{staticClass:\"tfb-title-text-smaller text-center\"},[_vm._v(\" Call our 24-hour claims representatives at \"),_c('a',{staticClass:\"tfb-title-text-smaller-bold text-white\",attrs:{\"href\":_vm.claimsReportingCenter.phoneLink}},[_vm._v(\" \"+_vm._s(_vm.claimsReportingCenter.phoneDisplay))]),_vm._v(\" or contact your Agent. \")]),_c('v-container',{staticClass:\"tfb-smallest-container tfb-claim-box pa-5\"},[_c('required-fields-row'),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [_c('v-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[(!_vm.isLoggedIn)?_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:2|max:25|name\",\"label\":\"Insured Last Name or Business Name\",\"autocapitalize\":\"words\",\"autocomplete\":\"shipping given-name\",\"minlength\":\"2\",\"maxlength\":\"25\"},model:{value:(_vm.lastName),callback:function ($$v) {_vm.lastName=$$v},expression:\"lastName\"}})],1)],1):_vm._e(),_c('v-row',[(_vm.isLoggedIn && _vm.policyList)?_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Policy Number\",\"items\":_vm.policyList,\"item-text\":\"PolicyNumber\",\"item-value\":\"PolicyNumber\",\"return-object\":\"\"},model:{value:(_vm.selectPolicyNumber),callback:function ($$v) {_vm.selectPolicyNumber=$$v},expression:\"selectPolicyNumber\"}})],1):_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|alpha_num|min:6|max:11\",\"label\":\"Policy Number\",\"autocapitalize\":\"characters\",\"minlength\":\"6\",\"maxlength\":\"11\"},model:{value:(_vm.policyNumber),callback:function ($$v) {_vm.policyNumber=$$v},expression:\"policyNumber\"}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('v-menu',{ref:\"dateMenu\",attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required|min:6|max:10\",\"name\":\"Date of Loss\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid, required }){return [_c('v-text-field',_vm._g({attrs:{\"outlined\":\"\",\"required\":\"\",\"readonly\":\"\",\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid,\"label\":\"Date of Loss\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-calendar\")]),_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.dateOfLossFormatted),callback:function ($$v) {_vm.dateOfLossFormatted=$$v},expression:\"dateOfLossFormatted\"}},on))]}}],null,true)})]}}],null,true),model:{value:(_vm.dateMenu),callback:function ($$v) {_vm.dateMenu=$$v},expression:\"dateMenu\"}},[_c('v-date-picker',{attrs:{\"color\":\"background-blue\",\"no-title\":\"\",\"min\":_vm.minDateOfLoss,\"max\":_vm.maxDateOfLoss},on:{\"input\":function($event){_vm.dateMenu = false}},model:{value:(_vm.dateOfLoss),callback:function ($$v) {_vm.dateOfLoss=$$v},expression:\"dateOfLoss\"}})],1)],1)],1),(_vm.isLoggedIn && _vm.selectPolicyNumber !== null)?_c('claim-point-link',{attrs:{\"showClaimPoint\":_vm.showClaimPoint,\"policyNumber\":_vm.selectPolicyNumber.PolicyNumber,\"insuredName\":_vm.selectPolicyNumber.PolicyInsuredName,\"dateOfLoss\":_vm.dateOfLoss}}):_vm._e(),(!_vm.isLoggedIn)?_c('claim-point-link',{attrs:{\"showClaimPoint\":_vm.showClaimPoint,\"policyNumber\":_vm.policyNumber,\"insuredLastName\":_vm.lastName,\"dateOfLoss\":_vm.dateOfLoss}}):_vm._e(),(!_vm.isLoggedIn)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"offset-sm\":\"6\"}},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.hasCaptcha),expression:\"!hasCaptcha\"}],staticClass:\"text-darkest-red\",attrs:{\"role\":\"alert\"}},[_vm._v(\"Please validate you are not a bot.\")]),_c('vue-recaptcha',{ref:\"recaptcha\",attrs:{\"sitekey\":_vm.googleReCaptchaKey},on:{\"verify\":_vm.onVerify,\"expired\":_vm.onExpired}}),_c('br')],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\" Start Claim \")])],1)],1)],1)]}}])})],1),_c('recent-claim',{attrs:{\"showDialog\":_vm.dialog}})],1),_c('claims-process'),_c('div',{staticClass:\"background-lightest-gray\"},[_c('v-container',{staticClass:\"pa-10\"},[_c('v-row',[(_vm.$vuetify.breakpoint.mdAndUp)?_c('v-col',[_c('v-card',{staticClass:\"fill-height tfb-claim-card\"},[_c('v-card-text',[_c('faqs',{attrs:{\"faq-keyword\":\"claims\"}})],1)],1)],1):_vm._e(),_c('v-col',[_c('claims-numbers')],1),(_vm.$vuetify.breakpoint.smAndDown)?_c('v-col',[_c('v-card',{staticClass:\"fill-height\"},[_c('v-card-text',[_c('faqs',{attrs:{\"faq-keyword\":\"claims\"}})],1)],1)],1):_vm._e()],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.showClaimPoint)?_c('v-row',[_c('v-col',{staticClass:\"align-center text-red\",attrs:{\"cols\":\"12\"}},[_vm._v(\" If damage is limited to glass, \"),_c('a',{on:{\"click\":function($event){$event.preventDefault();return _vm.redirectToClaimPoint.apply(null, arguments)}}},[_vm._v(\"click here\")]),_vm._v(\" to report a glass-only claim. \"),_c('br'),_c('br')])],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-row v-if=\"showClaimPoint\">\r\n <v-col cols=\"12\"\r\n class=\"align-center text-red\">\r\n If damage is limited to glass, <a v-on:click.prevent=\"redirectToClaimPoint\">click here</a> to report a glass-only claim.\r\n <br/><br/>\r\n </v-col>\r\n </v-row>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import { insuredAccessOnlyErrorMessage } from '@/mixins/errorMessages';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'ClaimPointLink',\r\n props: {\r\n showClaimPoint: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n policyNumber: {\r\n type: String,\r\n required: true,\r\n },\r\n insuredFirstName: {\r\n type: String,\r\n required: false,\r\n },\r\n insuredLastName: {\r\n type: String,\r\n required: false,\r\n },\r\n insuredName: {\r\n type: String,\r\n required: false,\r\n },\r\n dateOfLoss: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n computed: {\r\n claimPointUrl() {\r\n try {\r\n return this.$store.getters['app/claimPointUrl'];\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n methods: {\r\n redirectToClaimPoint() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n if (!this.isMemberRole) {\r\n dispatch('app/setErrorMessage', insuredAccessOnlyErrorMessage);\r\n dispatch('app/setIsLoading', false);\r\n } else {\r\n let claimParams;\r\n const form = document.createElement('form');\r\n form.method = 'post';\r\n form.action = this.claimPointUrl;\r\n form.name = 'lynxForm';\r\n form.target = '_blank';\r\n dispatch('claims/getClaimPointSignedXml', {\r\n sRecipient: this.claimPointUrl,\r\n sPolicyNumber: this.policyNumber,\r\n sDateOfLoss: this.dateOfLoss,\r\n sLastName: this.insuredLastName,\r\n sFirstName: this.insuredFirstName,\r\n sInsuredName: this.insuredName,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((signatureResponse) => {\r\n if (signatureResponse && signatureResponse !== '') {\r\n try {\r\n claimParams = [\r\n { name: 'hdnSignedXml', value: signatureResponse },\r\n ];\r\n\r\n for (let key = 0; key < claimParams.length; key += 1) {\r\n // console.log(encryptParams[key]);\r\n const hiddenField = document.createElement('input');\r\n hiddenField.type = 'hidden';\r\n hiddenField.name = claimParams[key].name;\r\n hiddenField.value = claimParams[key].value;\r\n\r\n form.appendChild(hiddenField);\r\n }\r\n\r\n document.body.appendChild(form);\r\n form.submit();\r\n dispatch('app/setIsLoading', false);\r\n setTimeout(() => {\r\n document.body.removeChild(form); // On modern browsers you can use `form.remove();`\r\n }, 100);\r\n } catch (error) {\r\n dispatch('app/setErrorMessage', 'Error redirecting to ClaimPoint site. Please try again.');\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'ClaimPointLink.vue',\r\n methodName: 'redirect-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n } else {\r\n dispatch('app/setErrorMessage', 'Unable to redirect to ClaimPoint site. Please try again.');\r\n dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'ClaimPointLink.vue',\r\n methodName: 'getSignedXml-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n if (error.toString().indexOf('Request failed with status code 401') >= 0) {\r\n dispatch('app/setErrorMessage', 'Session is no longer valid. Please close this window and log in again.');\r\n } else {\r\n dispatch('app/setErrorMessage', error.toString());\r\n }\r\n dispatch('app/setIsLoading', false);\r\n });\r\n }\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClaimPointLink.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClaimPointLink.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ClaimPointLink.vue?vue&type=template&id=1989ac59\"\nimport script from \"./ClaimPointLink.vue?vue&type=script&lang=js\"\nexport * from \"./ClaimPointLink.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-dialog',{attrs:{\"max-width\":\"290\"},model:{value:(_vm.showDialog),callback:function ($$v) {_vm.showDialog=$$v},expression:\"showDialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\"Existing Claim\")]),_c('v-card-text',[_vm._v(\" A claim has already been reported within the last 24 hours for this policy. Do you want to create another? \")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"tfb-button background-red\",on:{\"click\":function($event){return _vm.onDuplicateClaim(false)}}},[_vm._v(\" No \")]),_c('v-btn',{staticClass:\"tfb-button background-red\",on:{\"click\":function($event){return _vm.onDuplicateClaim(true)}}},[_vm._v(\" Yes \")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <v-dialog v-model=\"showDialog\"\r\n max-width=\"290\">\r\n <v-card>\r\n <v-card-title class=\"headline\">Existing Claim</v-card-title>\r\n <v-card-text>\r\n A claim has already been reported within the last 24 hours for this policy.\r\n Do you want to create another?\r\n </v-card-text>\r\n <v-card-actions>\r\n <v-spacer></v-spacer>\r\n <v-btn @click=\"onDuplicateClaim(false)\"\r\n class=\"tfb-button background-red\">\r\n No\r\n </v-btn>\r\n <v-btn @click=\"onDuplicateClaim(true)\"\r\n class=\"tfb-button background-red\">\r\n Yes\r\n </v-btn>\r\n </v-card-actions>\r\n </v-card>\r\n </v-dialog>\r\n </div>\r\n</template>\r\n<script>\r\n export default {\r\n name: 'RecentClaim',\r\n props: {\r\n showDialog: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n },\r\n methods: {\r\n onDuplicateClaim(selection) {\r\n this.showDialog = false;\r\n if (selection) {\r\n this.$router.push({ name: 'claimsReport', params: { number: this.$store.state.claims.claim.policyNumber, type: this.$store.state.claims.claim.type } });\r\n }\r\n },\r\n },\r\n };\r\n </script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecentClaim.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecentClaim.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RecentClaim.vue?vue&type=template&id=69410046\"\nimport script from \"./RecentClaim.vue?vue&type=script&lang=js\"\nexport * from \"./RecentClaim.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-container',{staticClass:\"pt-5\"},[_c('v-row',[_c('v-col',{staticClass:\"text-center\"},[_c('h2',{staticClass:\"tfb-title-text-medium text-darkest-blue\"},[_vm._v(\" How the Claims Process Works \")])])],1),(_vm.$vuetify.breakpoint.mdAndUp)?_c('v-row',[_c('v-col',[_c('div',{staticClass:\"tfb-stepper\"},[_c('div',{staticClass:\"tfb-stepper-header\"},[_c('div',{staticClass:\"tfb-stepper-step\"},[_c('span',{staticClass:\"tfb-stepper-step-icon\"},[_c('img',{attrs:{\"src\":_vm.imageRootPath +'icons/claim-step-1.png',\"alt\":\"Step One\"}})]),_c('div',{staticClass:\"tfb-stepper-step-label\"},[_vm._v(\" Once you report a claim, it will be assigned to an adjuster who will review your insurance policy and coverages to determine what types of damages are covered. \")])]),_c('hr',{staticClass:\"tfb-step-divider\",attrs:{\"role\":\"separator\",\"aria-orientation\":\"horizontal\"}}),_c('div',{staticClass:\"tfb-stepper-step\"},[_c('span',{staticClass:\"tfb-stepper-step-icon\"},[_c('img',{attrs:{\"src\":_vm.imageRootPath +'icons/claim-step-2.png',\"alt\":\"Step Two\"}})]),_c('div',{staticClass:\"tfb-stepper-step-label\"},[_vm._v(\" We'll contact you to find out what happened in the accident or caused the damage to your home. \")])]),_c('hr',{staticClass:\"tfb-step-divider\",attrs:{\"role\":\"separator\",\"aria-orientation\":\"horizontal\"}}),_c('div',{staticClass:\"tfb-stepper-step\"},[_c('span',{staticClass:\"tfb-stepper-step-icon\"},[_c('img',{attrs:{\"src\":_vm.imageRootPath +'icons/claim-step-3.png',\"alt\":\"Step Three\"}})]),_c('div',{staticClass:\"tfb-stepper-step-label\"},[_vm._v(\" We'll inspect your vehicle or home and provide you an estimate for the damages. \")])]),_c('hr',{staticClass:\"tfb-step-divider\",attrs:{\"role\":\"separator\",\"aria-orientation\":\"horizontal\"}}),_c('div',{staticClass:\"tfb-stepper-step\"},[_c('span',{staticClass:\"tfb-stepper-step-icon\"},[_c('img',{attrs:{\"src\":_vm.imageRootPath +'icons/claim-step-4.png',\"alt\":\"Step Four\"}})]),_c('div',{staticClass:\"tfb-stepper-step-label\"},[_vm._v(\" We'll pay you for your damages less your deductible and any applicable depreciation after we have inspected your property. \")])])])])])],1):_vm._e(),(_vm.$vuetify.breakpoint.smAndDown)?_c('v-row',[_c('v-col',[_c('div',{staticClass:\"tfb-stepper tfb-stepper-vertical\"},[_c('div',{staticClass:\"tfb-stepper-step\"},[_c('span',{staticClass:\"tfb-stepper-step-icon\"},[_c('img',{attrs:{\"src\":_vm.imageRootPath +'icons/claim-step-1.png',\"alt\":\"Step One\"}})]),_c('div',{staticClass:\"tfb-stepper-step-label\"},[_vm._v(\" Once you report a claim, it will be assigned to an adjuster who will review your insurance policy and coverages to determine what types of damages are covered. \")])]),_c('div',{staticClass:\"tfb-stepper-content\"},[_c('div',{staticClass:\"tfb-stepper-wrapper\"},[_c('br')])]),_c('div',{staticClass:\"tfb-stepper-step\"},[_c('span',{staticClass:\"tfb-stepper-step-icon\"},[_c('img',{attrs:{\"src\":_vm.imageRootPath +'icons/claim-step-2.png',\"alt\":\"Step Two\"}})]),_c('div',{staticClass:\"tfb-stepper-step-label\"},[_vm._v(\" We'll contact you to find out what happened in the accident or caused the damage to your home. \")])]),_c('div',{staticClass:\"tfb-stepper-content\"},[_c('div',{staticClass:\"tfb-stepper-wrapper\"},[_c('br')])]),_c('div',{staticClass:\"tfb-stepper-step\"},[_c('span',{staticClass:\"tfb-stepper-step-icon\"},[_c('img',{attrs:{\"src\":_vm.imageRootPath +'icons/claim-step-3.png',\"alt\":\"Step Three\"}})]),_c('div',{staticClass:\"tfb-stepper-step-label\"},[_vm._v(\" We'll inspect your vehicle or home and provide you an estimate for the damages. \")])]),_c('div',{staticClass:\"tfb-stepper-content\"},[_c('div',{staticClass:\"tfb-stepper-wrapper\"},[_c('br')])]),_c('div',{staticClass:\"tfb-stepper-step\"},[_c('span',{staticClass:\"tfb-stepper-step-icon\"},[_c('img',{attrs:{\"src\":_vm.imageRootPath +'icons/claim-step-4.png',\"alt\":\"Step Four\"}})]),_c('div',{staticClass:\"tfb-stepper-step-label\"},[_vm._v(\" We'll pay you for your damages less your deductible and any applicable depreciation after we have inspected your property. \")])]),_c('div',{staticClass:\"tfb-stepper-content\"},[_c('div',{staticClass:\"tfb-stepper-wrapper\"},[_c('br')])])])])],1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <v-container class=\"pt-5\">\r\n <v-row>\r\n <v-col class=\"text-center\">\r\n <h2 class=\"tfb-title-text-medium text-darkest-blue\">\r\n How the Claims Process Works\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"$vuetify.breakpoint.mdAndUp\">\r\n <v-col>\r\n <div class=\"tfb-stepper\">\r\n <div class=\"tfb-stepper-header\">\r\n <div class=\"tfb-stepper-step\">\r\n <span class=\"tfb-stepper-step-icon\">\r\n <img v-bind:src=\"imageRootPath +'icons/claim-step-1.png'\"\r\n alt=\"Step One\"/>\r\n </span>\r\n <div class=\"tfb-stepper-step-label\">\r\n Once you report a claim, it will be assigned to an adjuster who will\r\n review your insurance policy and coverages to determine what types\r\n of damages are covered.\r\n </div>\r\n </div>\r\n <hr role=\"separator\" aria-orientation=\"horizontal\" class=\"tfb-step-divider\" />\r\n <div class=\"tfb-stepper-step\">\r\n <span class=\"tfb-stepper-step-icon\">\r\n <img v-bind:src=\"imageRootPath +'icons/claim-step-2.png'\"\r\n alt=\"Step Two\" />\r\n </span>\r\n <div class=\"tfb-stepper-step-label\">\r\n We'll contact you to find out what\r\n happened in the accident or caused the damage to your home.\r\n </div>\r\n </div>\r\n <hr role=\"separator\" aria-orientation=\"horizontal\" class=\"tfb-step-divider\" />\r\n <div class=\"tfb-stepper-step\">\r\n <span class=\"tfb-stepper-step-icon\">\r\n <img v-bind:src=\"imageRootPath +'icons/claim-step-3.png'\"\r\n alt=\"Step Three\" />\r\n </span>\r\n <div class=\"tfb-stepper-step-label\">\r\n We'll inspect your vehicle or home and\r\n provide you an estimate for the damages.\r\n </div>\r\n </div>\r\n <hr role=\"separator\" aria-orientation=\"horizontal\" class=\"tfb-step-divider\" />\r\n <div class=\"tfb-stepper-step\">\r\n <span class=\"tfb-stepper-step-icon\">\r\n <img v-bind:src=\"imageRootPath +'icons/claim-step-4.png'\"\r\n alt=\"Step Four\" />\r\n </span>\r\n <div class=\"tfb-stepper-step-label\">\r\n We'll pay you for your damages less\r\n your deductible and any applicable depreciation after we have\r\n inspected your property.\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"$vuetify.breakpoint.smAndDown\">\r\n <v-col>\r\n <div class=\"tfb-stepper tfb-stepper-vertical\">\r\n <div class=\"tfb-stepper-step\">\r\n <span class=\"tfb-stepper-step-icon\">\r\n <img v-bind:src=\"imageRootPath +'icons/claim-step-1.png'\"\r\n alt=\"Step One\" />\r\n </span>\r\n <div class=\"tfb-stepper-step-label\">\r\n Once you report a claim, it will be assigned to an adjuster who will\r\n review your insurance policy and coverages to determine what types of\r\n damages are covered.\r\n </div>\r\n </div>\r\n <div class=\"tfb-stepper-content\">\r\n <div class=\"tfb-stepper-wrapper\"><br /></div>\r\n </div>\r\n <div class=\"tfb-stepper-step\">\r\n <span class=\"tfb-stepper-step-icon\">\r\n <img v-bind:src=\"imageRootPath +'icons/claim-step-2.png'\"\r\n alt=\"Step Two\" />\r\n </span>\r\n <div class=\"tfb-stepper-step-label\">\r\n We'll contact you to find out what happened in the accident or caused\r\n the damage to your home.\r\n </div>\r\n </div>\r\n <div class=\"tfb-stepper-content\">\r\n <div class=\"tfb-stepper-wrapper\"><br /></div>\r\n </div>\r\n <div class=\"tfb-stepper-step\">\r\n <span class=\"tfb-stepper-step-icon\">\r\n <img v-bind:src=\"imageRootPath +'icons/claim-step-3.png'\"\r\n alt=\"Step Three\" />\r\n </span>\r\n <div class=\"tfb-stepper-step-label\">\r\n We'll inspect your vehicle or home and provide you an estimate for\r\n the damages.\r\n </div>\r\n </div>\r\n <div class=\"tfb-stepper-content\">\r\n <div class=\"tfb-stepper-wrapper\"><br /></div>\r\n </div>\r\n <div class=\"tfb-stepper-step\">\r\n <span class=\"tfb-stepper-step-icon\">\r\n <img v-bind:src=\"imageRootPath +'icons/claim-step-4.png'\"\r\n alt=\"Step Four\" />\r\n </span>\r\n <div class=\"tfb-stepper-step-label\">\r\n We'll pay you for your damages less your deductible and any applicable\r\n depreciation after we have inspected your property.\r\n </div>\r\n </div>\r\n <div class=\"tfb-stepper-content\">\r\n <div class=\"tfb-stepper-wrapper\"><br /></div>\r\n </div>\r\n </div>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\nexport default {\r\n name: 'ClaimsProcess',\r\n mixins: [tfbHelperMixin],\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n .tfb-stepper {\r\n background: #FFFFFF;\r\n border-radius: 0px;\r\n overflow: hidden;\r\n position: relative;\r\n box-shadow: 0px 0px 0px 0px rgb(0 0 0 / 20%), 0px 0px 0px 0px rgb(0 0 0 / 14%), 0px 0px 0px 0px rgb(0 0 0 / 12%);\r\n }\r\n\r\n .tfb-stepper-header {\r\n height: auto;\r\n align-items: stretch;\r\n display: flex;\r\n flex-wrap: wrap;\r\n justify-content: space-between;\r\n box-shadow: 0px 3px 1px -2px rgb(0 0 0 / 20%), 0px 2px 2px 0px rgb(0 0 0 / 14%), 0px 1px 5px 0px rgb(0 0 0 / 12%);\r\n }\r\n\r\n .tfb-stepper .tfb-stepper-header .tfb-step-divider {\r\n border-color: rgba(0, 0, 0, 0.12);\r\n }\r\n\r\n .tfb-stepper-header .tfb-step-divider {\r\n margin: 50px -47px 0;\r\n align-self: flex-start;\r\n }\r\n\r\n .tfb-stepper-step {\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n align-items: center;\r\n flex-basis: 175px;\r\n display: flex;\r\n padding: 24px;\r\n position: relative;\r\n }\r\n\r\n .tfb-stepper-step-icon {\r\n margin-bottom: 11px;\r\n margin-left: 0;\r\n margin-right: 0;\r\n align-items: center;\r\n border-radius: 50%;\r\n display: inline-flex;\r\n font-size: 0.75rem;\r\n justify-content: center;\r\n height: 50px;\r\n min-width: 50px;\r\n width: 50px;\r\n transition: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\r\n /*background-color: #008ce1 !important;\r\n border-color: #008ce1 !important;*/\r\n color: #ffffff !important;\r\n }\r\n\r\n .tfb-stepper-step-label {\r\n color: #000000;\r\n text-align: left;\r\n transition: 0.3s cubic-bezier(0.4, 0, 0.6, 1);\r\n align-items: flex-start;\r\n display: flex;\r\n flex-direction: column;\r\n line-height: 1;\r\n }\r\n\r\n .tfb-stepper:not(.tfb-stepper-vertical) .tfb-stepper-step-label {\r\n text-align: center;\r\n min-width: 200px;\r\n }\r\n\r\n .tfb-step-divider {\r\n border-color: rgba(0, 0, 0, 0.12);\r\n display: block;\r\n flex: 1 1 0px;\r\n max-width: 100%;\r\n height: 0px;\r\n max-height: 0px;\r\n border: solid;\r\n border-width: thin 0 0 0;\r\n transition: inherit;\r\n }\r\n\r\n .tfb-stepper-vertical {\r\n padding-bottom: 36px;\r\n }\r\n\r\n .tfb-stepper-vertical .tfb-stepper-step {\r\n padding: 24px 24px 16px;\r\n flex-direction: row;\r\n }\r\n\r\n .tfb-stepper-vertical .tfb-stepper-step-label {\r\n margin-top: -10px;\r\n }\r\n\r\n .tfb-stepper-vertical .tfb-stepper-step-icon {\r\n margin-right: 12px;\r\n }\r\n\r\n .tfb-stepper-vertical .tfb-stepper-content:not(:last-child) {\r\n border-left: 1px solid rgba(0, 0, 0, 0.12);\r\n }\r\n\r\n .tfb-stepper-content {\r\n margin: -8px -36px -16px 48px;\r\n padding: 16px 60px 16px 23px;\r\n width: auto;\r\n top: 0;\r\n flex: 1 0 auto;\r\n }\r\n\r\n .tfb-stepper-wrapper {\r\n overflow: hidden;\r\n transition: none;\r\n height: 0px;\r\n }\r\n\r\n @media only screen and (max-width: 959px) {\r\n .tfb-stepper:not(.tfb-stepper--vertical) .tfb-stepper-step-icon {\r\n margin-left: 0;\r\n margin-right: 0;\r\n }\r\n\r\n .tfb-stepper:not(.tfb-stepper-vertical) .tfb-stepper-step-label {\r\n display: none;\r\n }\r\n\r\n .tfb-stepper-vertical .tfb-stepper-step-label {\r\n margin-left: 10px;\r\n }\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClaimsProcess.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClaimsProcess.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ClaimsProcess.vue?vue&type=template&id=579bb9df\"\nimport script from \"./ClaimsProcess.vue?vue&type=script&lang=js\"\nexport * from \"./ClaimsProcess.vue?vue&type=script&lang=js\"\nimport style0 from \"./ClaimsProcess.vue?vue&type=style&index=0&id=579bb9df&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div>\r\n <div class=\"background-darker-blue py-12\">\r\n <h1 class=\"tfb-title-text-large text-center\">File A Claim</h1>\r\n <p class=\"tfb-title-text-smaller text-center\">\r\n Call our 24-hour claims representatives at\r\n <a :href=\"claimsReportingCenter.phoneLink\"\r\n class=\"tfb-title-text-smaller-bold text-white\">\r\n {{ claimsReportingCenter.phoneDisplay }}</a> or contact your Agent.\r\n </p>\r\n <v-container class=\"tfb-smallest-container tfb-claim-box pa-5\">\r\n <required-fields-row></required-fields-row>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form @submit.stop.prevent=\"handleSubmit(onSubmit)\">\r\n <!-- Last Name -->\r\n <v-row v-if=\"!isLoggedIn\">\r\n <v-col cols=\"12\"\r\n class=\"py-1\">\r\n <text-input rules=\"required|min:2|max:25|name\"\r\n label=\"Insured Last Name or Business Name\"\r\n autocapitalize=\"words\"\r\n autocomplete=\"shipping given-name\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n v-model=\"lastName\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <!-- Policy List -->\r\n <v-col cols=\"12\"\r\n class=\"py-1\"\r\n v-if=\"isLoggedIn && policyList\">\r\n <select-input rules=\"required\"\r\n label=\"Policy Number\"\r\n :items=\"policyList\"\r\n item-text=\"PolicyNumber\"\r\n item-value=\"PolicyNumber\"\r\n v-model=\"selectPolicyNumber\"\r\n return-object></select-input>\r\n </v-col>\r\n <!-- Policy Number -->\r\n <v-col cols=\"12\"\r\n class=\"py-1\"\r\n v-else>\r\n <text-input rules=\"required|alpha_num|min:6|max:11\"\r\n label=\"Policy Number\"\r\n autocapitalize=\"characters\"\r\n minlength=\"6\"\r\n maxlength=\"11\"\r\n v-model=\"policyNumber\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Date of Loss -->\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-1\">\r\n <v-menu ref=\"dateMenu\"\r\n v-model=\"dateMenu\"\r\n :close-on-content-click=\"false\"\r\n transition=\"scale-transition\"\r\n offset-y\r\n max-width=\"290px\"\r\n min-width=\"290px\">\r\n <template v-slot:activator=\"{ on }\">\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required|min:6|max:10\"\r\n name=\"Date of Loss\"\r\n v-slot=\"{ errors, valid, required }\">\r\n <v-text-field outlined\r\n required\r\n readonly\r\n hide-details=\"auto\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n v-model=\"dateOfLossFormatted\"\r\n label=\"Date of Loss\"\r\n v-on=\"on\">\r\n <template v-slot:append>\r\n <v-icon>mdi-calendar</v-icon>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-text-field>\r\n </ValidationProvider>\r\n </template>\r\n <v-date-picker v-model=\"dateOfLoss\"\r\n color=\"background-blue\"\r\n no-title\r\n :min=\"minDateOfLoss\"\r\n :max=\"maxDateOfLoss\"\r\n @input=\"dateMenu = false\"></v-date-picker>\r\n </v-menu>\r\n </v-col>\r\n </v-row>\r\n <claim-point-link v-if=\"isLoggedIn && selectPolicyNumber !== null\"\r\n :showClaimPoint=\"showClaimPoint\"\r\n :policyNumber=\"selectPolicyNumber.PolicyNumber\"\r\n :insuredName=\"selectPolicyNumber.PolicyInsuredName\"\r\n :dateOfLoss=\"dateOfLoss\"></claim-point-link>\r\n <claim-point-link v-if=\"!isLoggedIn\" :showClaimPoint=\"showClaimPoint\"\r\n :policyNumber=\"policyNumber\"\r\n :insuredLastName=\"lastName\"\r\n :dateOfLoss=\"dateOfLoss\"></claim-point-link>\r\n <v-row v-if=\"!isLoggedIn\">\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n offset-sm=\"6\">\r\n <span role=\"alert\"\r\n v-show=\"!hasCaptcha\"\r\n class=\"text-darkest-red\">Please validate you are not a bot.</span>\r\n <vue-recaptcha ref=\"recaptcha\"\r\n @verify=\"onVerify\"\r\n @expired=\"onExpired\"\r\n :sitekey=\"googleReCaptchaKey\"></vue-recaptcha>\r\n <br />\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">\r\n Start Claim\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </v-container>\r\n <recent-claim :showDialog=\"dialog\"></recent-claim>\r\n </div>\r\n <claims-process></claims-process>\r\n <div class=\"background-lightest-gray\">\r\n <v-container class=\"pa-10\">\r\n <v-row>\r\n <v-col v-if=\"$vuetify.breakpoint.mdAndUp\">\r\n <v-card class=\"fill-height tfb-claim-card\">\r\n <v-card-text>\r\n <faqs faq-keyword=\"claims\"></faqs>\r\n </v-card-text>\r\n </v-card>\r\n </v-col>\r\n <v-col>\r\n <claims-numbers></claims-numbers>\r\n </v-col>\r\n <v-col v-if=\"$vuetify.breakpoint.smAndDown\">\r\n <v-card class=\"fill-height\">\r\n <v-card-text>\r\n <faqs faq-keyword=\"claims\"></faqs>\r\n </v-card-text>\r\n </v-card>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\n import DOMPurify from 'dompurify';\r\n import { ValidationObserver, ValidationProvider } from 'vee-validate';\r\n import { subMonths } from 'date-fns';\r\n import VueRecaptcha from 'vue-recaptcha';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import { namePolicyNotFoundErrorMessage } from '@/mixins/errorMessages';\r\n import Faqs from '@/views/content/components/FAQs.vue';\r\n import RequiredFieldsRow from '@/views/layout/components/RequiredFieldsRow.vue';\r\n import ClaimPointLink from './components/ClaimPointLink.vue';\r\n import RecentClaim from './components/RecentClaim.vue';\r\n import ClaimsProcess from './components/ClaimsProcess.vue';\r\n import ClaimsNumbers from './components/ClaimsNumbers.vue';\r\n\r\n export default {\r\n name: 'ClaimMain',\r\n mixins: [tfbDataMixin, tfbHelperMixin, tfbMetaMixin],\r\n components: {\r\n ValidationObserver,\r\n ValidationProvider,\r\n VueRecaptcha,\r\n Faqs,\r\n RecentClaim,\r\n ClaimsProcess,\r\n ClaimsNumbers,\r\n RequiredFieldsRow,\r\n ClaimPointLink,\r\n },\r\n data() {\r\n return {\r\n formDisabled: false,\r\n hasCaptcha: false,\r\n dialog: false,\r\n captchaText: '',\r\n lastName: '',\r\n policyNumber: '',\r\n selectPolicyNumber: null,\r\n txfbInsured: {},\r\n dateOfLoss: this.parseDate(new Date().toISOString()),\r\n dateMenu: false,\r\n showClaimPoint: false,\r\n };\r\n },\r\n computed: {\r\n metaDescription() {\r\n return 'Report a claim or view the progress of current claims on the Texas Farm Bureau Insurance resources page.';\r\n },\r\n metaPageTitle() {\r\n return 'Claims';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/claims`;\r\n },\r\n googleReCaptchaKey() {\r\n return process.env.VUE_APP_GOOGLE_RECAPTCHA_KEY;\r\n },\r\n dateOfLossFormatted() {\r\n return this.formatDate(this.dateOfLoss);\r\n },\r\n minDateOfLoss() {\r\n return this.parseDate(subMonths(new Date(), 24).toISOString());\r\n },\r\n maxDateOfLoss() {\r\n return this.parseDate(new Date().toISOString());\r\n },\r\n policyList() {\r\n try {\r\n const filteredPolicyList = [];\r\n const fullPolicyList = this.$store.getters['policy/accountSummary'];\r\n for (let p = 0; p < fullPolicyList.length; p += 1) {\r\n if (fullPolicyList[p]) {\r\n // Is this policy type/subtype allowed to view Paperless Policy documents?\r\n if ((fullPolicyList[p].PolicyType === 'SM' || fullPolicyList[p].PolicyType === 'CA' || fullPolicyList[p].PolicyType === 'AA'\r\n || fullPolicyList[p].PolicyType === 'AT' || fullPolicyList[p].PolicyType === 'PF' || fullPolicyList[p].PolicyType === 'SF'\r\n || fullPolicyList[p].PolicyType === 'HT' || fullPolicyList[p].PolicyType === 'TT' || (fullPolicyList[p].PolicyType === 'CP' && fullPolicyList[p].PolicySubType === '1')\r\n || (fullPolicyList[p].PolicyType === 'CP' && fullPolicyList[p].PolicySubType === '2') || (fullPolicyList[p].PolicyType === 'CF' && fullPolicyList[p].PolicySubType === '1')\r\n || (fullPolicyList[p].PolicyType === 'UM' && fullPolicyList[p].PolicySubType === '1') || fullPolicyList[p].PolicySubType === '4')\r\n && fullPolicyList[p].PolicyStatus === 'ACTIVE') {\r\n filteredPolicyList.push(fullPolicyList[p]);\r\n }\r\n }\r\n }\r\n\r\n return filteredPolicyList;\r\n } catch (error) {\r\n console.error(error);\r\n return null;\r\n }\r\n },\r\n },\r\n watch: {\r\n selectPolicyNumber(val) {\r\n if (this.$store.getters['app/claimPointEnabled'] === 'Y' && val.PolicyType === 'SM' && val.PolicySubType === '1') {\r\n this.showClaimPoint = true;\r\n } else {\r\n this.showClaimPoint = false;\r\n }\r\n },\r\n policyNumber(val) {\r\n this.policyNumber = val.toUpperCase();\r\n },\r\n },\r\n methods: {\r\n onCaptchaSubmit() {\r\n this.hasCaptcha = true;\r\n this.$refs.invisibleRecaptcha.execute();\r\n },\r\n onVerify(response) {\r\n this.hasCaptcha = true;\r\n this.captchaText = response;\r\n // console.log(`Verify: ${response}`);\r\n },\r\n onExpired() {\r\n this.hasCaptcha = false;\r\n this.captchaText = '';\r\n this.$refs.recaptcha.reset();\r\n },\r\n onDuplicateClaim(selection) {\r\n this.dialog = false;\r\n if (selection) {\r\n this.$router.push({ name: 'claimsReport', params: { number: this.$store.state.claims.claim.policyNumber, type: this.$store.state.claims.claim.type } });\r\n }\r\n },\r\n onSubmit() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.commit('claims/RESET_STATE');\r\n this.$store.dispatch('claims/clearToken');\r\n if (!this.isLoggedIn && !this.hasCaptcha && this.captchaText === '') {\r\n this.onExpired();\r\n } else {\r\n this.$store.dispatch('app/setIsLoading', true);\r\n if (this.isLoggedIn) {\r\n this.$store.commit('claims/SET_LOSS', {\r\n date: DOMPurify.sanitize(this.dateOfLoss),\r\n type: null,\r\n description: null,\r\n location: null,\r\n city: null,\r\n state: 'TX',\r\n county: null,\r\n zip: null,\r\n policeDepartment: null,\r\n policeCaseNumber: null,\r\n });\r\n this.$store.dispatch('claims/buildPolicy', {\r\n policyNumber: this.selectPolicyNumber.PolicyNumber,\r\n policySymbol: (this.selectPolicyNumber.PolicySymbol && this.selectPolicyNumber.PolicySymbol !== null ? this.selectPolicyNumber.PolicySymbol : this.selectPolicyNumber.PolicyType),\r\n policyType: this.selectPolicyNumber.PolicyType,\r\n date: DOMPurify.sanitize(this.dateOfLoss),\r\n claimDestination: null,\r\n sTfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n this.$store.dispatch('claims/checkClaim')\r\n .then((hasExisting) => {\r\n if (!hasExisting) {\r\n // Continue to full form\r\n this.$router.push({ name: 'claimsReport', params: { number: this.selectPolicyNumber.PolicyNumber, type: this.$store.state.claims.claim.type } });\r\n } else {\r\n this.dialog = true;\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n });\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('Request failed with status code 401') >= 0) {\r\n // Session has timed out, log out and allow the user to enter the claim\r\n this.$store.dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n } else {\r\n this.$store.dispatch('claims/validateClaim', {\r\n sLastName: DOMPurify.sanitize(this.lastName),\r\n sPolicyNumber: DOMPurify.sanitize(this.policyNumber),\r\n sDateOfLoss: DOMPurify.sanitize(this.dateOfLoss),\r\n sCaptchaText: this.captchaText,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((validationReturn) => {\r\n if (validationReturn) {\r\n this.$store.dispatch('claims/buildPolicy', validationReturn)\r\n .then((builtPolicy) => {\r\n if (builtPolicy) {\r\n this.$store.dispatch('claims/checkClaim')\r\n .then((hasExisting) => {\r\n if (!hasExisting) {\r\n // Continue to full form\r\n this.$router.push({ name: 'claimsReport', params: { number: this.$store.state.claims.claim.policyNumber, type: this.$store.state.claims.claim.type } });\r\n } else {\r\n this.dialog = true;\r\n this.onExpired();\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.onExpired();\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n } else {\r\n // Display an error that the policy was not found\r\n this.$store.dispatch('app/setErrorMessage', namePolicyNotFoundErrorMessage);\r\n this.onExpired();\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.onExpired();\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n } else {\r\n // Display an error that the policy was not found\r\n this.$store.dispatch('app/setErrorMessage', namePolicyNotFoundErrorMessage);\r\n this.onExpired();\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.onExpired();\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n }\r\n }\r\n },\r\n },\r\n async created() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/setIsLoading', true);\r\n await this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'Claims', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus !== '') {\r\n this.formDisabled = true;\r\n this.$store.dispatch('app/setErrorMessage', returnedStatus);\r\n }\r\n this.$store.dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfb-claim-box {\r\n background-color: $white;\r\n }\r\n\r\n .tfb-claim-card {\r\n max-width: 600px !important;\r\n margin-left: auto;\r\n margin-right: auto;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClaimMain.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClaimMain.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ClaimMain.vue?vue&type=template&id=22c491a0\"\nimport script from \"./ClaimMain.vue?vue&type=script&lang=js\"\nexport * from \"./ClaimMain.vue?vue&type=script&lang=js\"\nimport style0 from \"./ClaimMain.vue?vue&type=style&index=0&id=22c491a0&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"background-darker-blue tfb-claim\",attrs:{\"id\":\"start-claim\"}},[_c('h1',{staticClass:\"tfb-title-text-large text-center\"},[_vm._v(\" File A Claim \")]),_c('v-container',{staticClass:\"tfb-smallest-container tfb-claim-box\"},[_c('ValidationObserver',{ref:\"obv\"},[(_vm.claim)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('claim-point-link',{attrs:{\"showClaimPoint\":_vm.showClaimPoint,\"policyNumber\":_vm.claim.policyNumber,\"insuredName\":_vm.primaryInsured.name.displayName,\"dateOfLoss\":_vm.loss.date}}),_c('span',{staticClass:\"tfb-title-text-small text-darkest-blue text-uppercase\"},[_vm._v(\" Policy Holder Information \")]),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"5\"}},[_c('span',{staticClass:\"tfb-title-text text-darkest-blue font-weight-bold\"},[_vm._v(\" Policy Number: \")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.claim.policyNumber)+\" \")])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"5\"}},[_c('span',{staticClass:\"tfb-title-text text-darkest-blue font-weight-bold\"},[_vm._v(\" Insured Name: \")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.primaryInsured.name.displayName)+\" \")])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('###-###-####'),expression:\"'###-###-####'\"}],attrs:{\"rules\":\"required_if:prefType|phone_number|min:10|max:12\",\"autocomplete\":\"home tel\",\"minlength\":\"10\",\"maxlength\":\"12\",\"label\":\"Preferred Contact Phone Number\",\"type\":\"tel\",\"vid\":\"prefPhone\"},model:{value:(_vm.preferredPhoneEntry),callback:function ($$v) {_vm.preferredPhoneEntry=$$v},expression:\"preferredPhoneEntry\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required_if:prefPhone\",\"label\":\"Preferred Contact Phone Number Type\",\"items\":_vm.phoneTypes,\"item-text\":\"usageTypeName\",\"item-value\":\"usageTypeCode\",\"vid\":\"prefType\"},model:{value:(_vm.preferredPhoneTypeEntry),callback:function ($$v) {_vm.preferredPhoneTypeEntry=$$v},expression:\"preferredPhoneTypeEntry\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-small text-darkest-blue text-uppercase\"},[_vm._v(\" Reporter Information \")])])],1),_c('required-fields-row'),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|name|min:2|max:60\",\"minlength\":\"2\",\"maxlength\":\"60\",\"autocomplete\":\"shipping given-name\",\"autocapitalize\":\"words\",\"label\":\"Name\",\"vid\":\"reportName\"},model:{value:(_vm.reporter.name),callback:function ($$v) {_vm.$set(_vm.reporter, \"name\", $$v)},expression:\"reporter.name\"}})],1)],1),(!_vm.isMemberRole)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|name|min:2|max:60\",\"minlength\":\"2\",\"maxlength\":\"60\",\"autocomplete\":\"shipping given-name\",\"autocapitalize\":\"words\",\"label\":\"On Behalf Of\",\"vid\":\"behalfName\"},model:{value:(_vm.reporter.onBehalfOf),callback:function ($$v) {_vm.$set(_vm.reporter, \"onBehalfOf\", $$v)},expression:\"reporter.onBehalfOf\"}})],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Type\",\"items\":_vm.reporterTypes,\"item-text\":\"Key\",\"item-value\":\"Value\",\"vid\":\"reportType\",\"disabled\":!_vm.isMemberRole},model:{value:(_vm.reporter.type),callback:function ($$v) {_vm.$set(_vm.reporter, \"type\", $$v)},expression:\"reporter.type\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('###-###-####'),expression:\"'###-###-####'\"}],attrs:{\"rules\":\"required|phone_number|min:10|max:12\",\"autocomplete\":\"home tel\",\"minlength\":\"10\",\"maxlength\":\"12\",\"label\":\"Phone Number\",\"type\":\"tel\",\"vid\":\"reportPhone\"},model:{value:(_vm.reporter.phoneNumber),callback:function ($$v) {_vm.$set(_vm.reporter, \"phoneNumber\", $$v)},expression:\"reporter.phoneNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Phone Number Type\",\"items\":_vm.phoneTypes,\"item-text\":\"usageTypeName\",\"item-value\":\"usageTypeCode\",\"vid\":\"reportPhoneType\"},model:{value:(_vm.reporter.phoneType),callback:function ($$v) {_vm.$set(_vm.reporter, \"phoneType\", $$v)},expression:\"reporter.phoneType\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"email|valid_domain|min:3|max:250\",\"autocomplete\":\"home email\",\"minlength\":\"3\",\"maxlength\":\"250\",\"label\":\"Email Address\",\"type\":\"email\",\"vid\":\"reportEmail\"},model:{value:(_vm.reporter.emailAddress),callback:function ($$v) {_vm.$set(_vm.reporter, \"emailAddress\", $$v)},expression:\"reporter.emailAddress\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-small text-darkest-blue text-uppercase\"},[_vm._v(\" Loss/Damage Information \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"5\"}},[_c('span',{staticClass:\"tfb-title-text text-darkest-blue font-weight-bold\"},[_vm._v(\" Date of Loss: \")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.dateOfLossFormatted)+\" \")])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-menu',{ref:\"menu\",attrs:{\"close-on-content-click\":false,\"nudge-right\":40,\"max-width\":\"290px\",\"min-width\":\"290px\",\"offset-y\":\"\",\"return-value\":_vm.timeOfLoss,\"transition\":\"scale-transition\"},on:{\"update:returnValue\":function($event){_vm.timeOfLoss=$event},\"update:return-value\":function($event){_vm.timeOfLoss=$event}},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required\",\"name\":\"Time of Loss\",\"vid\":\"lossTime\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid }){return [_c('v-text-field',_vm._g({attrs:{\"outlined\":\"\",\"required\":\"\",\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid,\"readonly\":\"\",\"label\":\"Time of Loss\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-clock-outline\")]),_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.timeOfLossFormatted),callback:function ($$v) {_vm.timeOfLossFormatted=$$v},expression:\"timeOfLossFormatted\"}},on))]}}],null,true)})]}}],null,false,1590004251),model:{value:(_vm.timeMenu),callback:function ($$v) {_vm.timeMenu=$$v},expression:\"timeMenu\"}},[(_vm.timeMenu)?_c('v-time-picker',{attrs:{\"ampm-in-title\":\"\",\"full-width\":\"\",\"format\":\"ampm\"},on:{\"click:minute\":function($event){return _vm.$refs.menu.save(_vm.timeOfLoss)}},model:{value:(_vm.timeOfLoss),callback:function ($$v) {_vm.timeOfLoss=$$v},expression:\"timeOfLoss\"}}):_vm._e()],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Type of Loss\",\"items\":_vm.lossTypes,\"item-text\":\"name\",\"item-value\":\"code\",\"vid\":\"lossType\"},model:{value:(_vm.loss.type),callback:function ($$v) {_vm.$set(_vm.loss, \"type\", $$v)},expression:\"loss.type\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-area-input',{attrs:{\"rules\":\"required|all_allowed|max:1000\",\"label\":\"Additional Description of Loss\",\"autocapitalize\":\"sentences\",\"autocomplete\":\"off\",\"maxlength\":\"1000\",\"counter\":1000,\"vid\":\"lossDescription\"},model:{value:(_vm.loss.description),callback:function ($$v) {_vm.$set(_vm.loss, \"description\", $$v)},expression:\"loss.description\"}})],1)],1),(_vm.claim.destination === 1)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"all_allowed|min:2|max:40\",\"minlength\":\"2\",\"maxlength\":\"40\",\"autocapitalize\":\"words\",\"autocomplete\":\"off\",\"label\":\"Police Department\"},model:{value:(_vm.loss.policeDepartment),callback:function ($$v) {_vm.$set(_vm.loss, \"policeDepartment\", $$v)},expression:\"loss.policeDepartment\"}})],1)],1):_vm._e(),(_vm.claim.destination === 1)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"all_allowed|min:2|max:25\",\"minlength\":\"2\",\"maxlength\":\"25\",\"autocapitalize\":\"words\",\"autocomplete\":\"off\",\"label\":\"Police Case Number\"},model:{value:(_vm.loss.policeCaseNumber),callback:function ($$v) {_vm.$set(_vm.loss, \"policeCaseNumber\", $$v)},expression:\"loss.policeCaseNumber\"}})],1)],1):_vm._e(),(_vm.claim.type !== 0)?_c('div',[_c('loss-location',{attrs:{\"loss-information\":_vm.loss,\"locations\":_vm.locationsList,\"state-list\":_vm.stateList,\"county-list\":_vm.countyList}})],1):_vm._e(),(_vm.claim.type === 0)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:3|max:40\",\"minlength\":\"3\",\"maxlength\":\"40\",\"autocomplete\":\"off\",\"label\":\"Loss Location\",\"vid\":\"lossLocation\"},model:{value:(_vm.loss.location),callback:function ($$v) {_vm.$set(_vm.loss, \"location\", $$v)},expression:\"loss.location\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:3|max:25\",\"minlength\":\"3\",\"maxlength\":\"25\",\"autocapitalize\":\"words\",\"autocomplete\":\"shipping address-level2\",\"label\":\"City\",\"vid\":\"lossCity\"},model:{value:(_vm.loss.city),callback:function ($$v) {_vm.$set(_vm.loss, \"city\", $$v)},expression:\"loss.city\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"label\":\"County\",\"items\":_vm.countyList,\"item-text\":\"CountyName\",\"item-value\":\"CountyName\",\"vid\":\"lossCounty\"},model:{value:(_vm.loss.county),callback:function ($$v) {_vm.$set(_vm.loss, \"county\", $$v)},expression:\"loss.county\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required|alpha|min:2|max:2\",\"label\":\"State\",\"items\":_vm.stateList,\"item-text\":\"StateName\",\"item-value\":\"StateCode\",\"vid\":\"lossState\"},model:{value:(_vm.loss.state),callback:function ($$v) {_vm.$set(_vm.loss, \"state\", $$v)},expression:\"loss.state\"}})],1)],1),_vm._l((_vm.insureds),function(insured){return _c('insured-details',_vm._b({key:insured.Id,attrs:{\"insured\":insured,\"drivers\":_vm.driverList,\"vehicles\":_vm.vehicleList},on:{\"remove-insured\":function($event){return _vm.removeInsured($event)}}},'insured-details',insured,false,true))}),_c('v-row',{staticClass:\"mt-3\"},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',[_vm._v(\" Was another party involved? \")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('radio-group-input',{attrs:{\"rules\":\"required\",\"name\":\"other party\",\"options\":_vm.yesNoOptions,\"vid\":\"thirdParty\"},model:{value:(_vm.hasThirdParty),callback:function ($$v) {_vm.hasThirdParty=$$v},expression:\"hasThirdParty\"}})],1)],1),(_vm.hasThirdParty === 'Y')?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-small text-darkest-blue text-uppercase\"},[_vm._v(\" Other Party Information \")])])],1),_vm._l((_vm.thirdParties),function(thirdParty){return _c('third-party-details',_vm._b({key:thirdParty.Id,attrs:{\"third-party\":thirdParty},on:{\"remove-third-party\":function($event){return _vm.removeThirdParty($event)}}},'third-party-details',thirdParty,false,true))})],2):_vm._e()],2):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-small text-darkest-blue text-uppercase\"},[_vm._v(\" Photos \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-file-input',{attrs:{\"accept\":\"image/*\",\"clearable\":false,\"counter\":\"\",\"label\":\"Select Photos\",\"multiple\":\"\",\"placeholder\":\"Select Photos\",\"prepend-icon\":\"mdi-paperclip\",\"rules\":_vm.fileRules,\"show-size\":\"\"},scopedSlots:_vm._u([{key:\"selection\",fn:function({ index, text }){return [_c('v-chip',{attrs:{\"close\":\"\",\"color\":\"primary\",\"label\":\"\",\"small\":\"\"},on:{\"click:close\":function($event){return _vm.deleteChip(index)}}},[_vm._v(\" \"+_vm._s(text)+\" \")])]}}],null,false,2706845832),model:{value:(_vm.files),callback:function ($$v) {_vm.files=$$v},expression:\"files\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\" Submit Claim \")])],1)],1)],1):_c('v-row',[_c('v-col',[_vm._v(\" Unable to locate policy information. Please try again later. \")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-small text-darkest-blue text-uppercase\"},[_vm._v(\" Insured Driver Information \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Name\",\"items\":_vm.drivers,\"item-text\":\"name.displayName\",\"return-object\":\"\"},model:{value:(_vm.insured.driver),callback:function ($$v) {_vm.$set(_vm.insured, \"driver\", $$v)},expression:\"insured.driver\"}})],1)],1),(_vm.insured.driver && _vm.insured.driver.name && _vm.insured.driver.name.displayName && _vm.insured.driver.name.displayName === 'Other')?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|name|min:2|max:25\",\"minlength\":\"2\",\"maxlength\":\"25\",\"label\":\"Driver First Name\",\"autocomplete\":\"shipping given-name\",\"autocapitalize\":\"words\"},model:{value:(_vm.insured.driver.name.firstName),callback:function ($$v) {_vm.$set(_vm.insured.driver.name, \"firstName\", $$v)},expression:\"insured.driver.name.firstName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|name|min:2|max:25\",\"minlength\":\"2\",\"maxlength\":\"25\",\"label\":\"Driver Last Name\",\"autocomplete\":\"shipping family-name\",\"autocapitalize\":\"words\"},model:{value:(_vm.insured.driver.name.lastName),callback:function ($$v) {_vm.$set(_vm.insured.driver.name, \"lastName\", $$v)},expression:\"insured.driver.name.lastName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"min:4|max:13\",\"label\":\"Driver License Number\",\"autocapitalize\":\"characters\",\"minlength\":\"4\",\"maxlength\":\"13\",\"vid\":\"dlNum\"},model:{value:(_vm.insured.driver.licenseNumber),callback:function ($$v) {_vm.$set(_vm.insured.driver, \"licenseNumber\", $$v)},expression:\"insured.driver.licenseNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"alpha|min:2|max:2\",\"label\":\"Driver License State\",\"items\":_vm.stateList,\"item-text\":\"StateName\",\"item-value\":\"StateCode\",\"vid\":\"dlState\"},model:{value:(_vm.insured.driver.licenseState),callback:function ($$v) {_vm.$set(_vm.insured.driver, \"licenseState\", $$v)},expression:\"insured.driver.licenseState\"}})],1)],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-small text-darkest-blue text-uppercase\"},[_vm._v(\" Insured Vehicle Information \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Vehicle\",\"items\":_vm.vehicles,\"item-text\":\"displayName\",\"item-value\":\"seqNum\",\"return-object\":\"\"},model:{value:(_vm.insured.vehicle),callback:function ($$v) {_vm.$set(_vm.insured, \"vehicle\", $$v)},expression:\"insured.vehicle\"}})],1)],1),(_vm.insured.vehicle)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',[_vm._v(\" Did the airbags deploy? \")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('radio-group-input',{attrs:{\"rules\":\"required\",\"name\":\"vehicle airbags\",\"options\":_vm.yesNoOptions,\"vid\":\"airbags\"},model:{value:(_vm.insured.vehicle.wereAirbagsDeployed),callback:function ($$v) {_vm.$set(_vm.insured.vehicle, \"wereAirbagsDeployed\", $$v)},expression:\"insured.vehicle.wereAirbagsDeployed\"}})],1)],1):_vm._e(),(_vm.insured.vehicle)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',[_vm._v(\" Is this vehicle driveable? \")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('radio-group-input',{attrs:{\"rules\":\"required\",\"name\":\"vehicle driveable\",\"options\":_vm.yesNoOptions,\"vid\":\"driveable\"},model:{value:(_vm.insured.vehicle.isDriveable),callback:function ($$v) {_vm.$set(_vm.insured.vehicle, \"isDriveable\", $$v)},expression:\"insured.vehicle.isDriveable\"}})],1)],1):_vm._e(),(_vm.insured.vehicle && _vm.insured.vehicle.isDriveable && _vm.insured.vehicle.isDriveable === 'N')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:3|max:40\",\"minlength\":\"3\",\"maxlength\":\"40\",\"autocomplete\":\"off\",\"counter\":\"40\",\"label\":\"Current Location of Vehicle\"},model:{value:(_vm.insured.vehicle.currentLocation),callback:function ($$v) {_vm.$set(_vm.insured.vehicle, \"currentLocation\", $$v)},expression:\"insured.vehicle.currentLocation\"}})],1)],1):_vm._e(),(_vm.insured.driver)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',[_vm._v(\" Was anyone in this vehicle injured? \")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('radio-group-input',{attrs:{\"rules\":\"required\",\"name\":\"occupant injuries\",\"options\":_vm.yesNoOptions,\"vid\":\"injuries\"},model:{value:(_vm.insured.driver.injuryInd),callback:function ($$v) {_vm.$set(_vm.insured.driver, \"injuryInd\", $$v)},expression:\"insured.driver.injuryInd\"}})],1)],1):_vm._e(),(_vm.insured.driver && _vm.insured.driver.injuryInd && _vm.insured.driver.injuryInd === 'Y')?_c('v-row',[_c('v-col',[_c('text-area-input',{attrs:{\"rules\":\"required|all_allowed|min:3|max:50\",\"label\":\"Describe Injuries\",\"autocapitalize\":\"sentences\",\"autocomplete\":\"off\",\"minlength\":\"3\",\"maxlength\":\"50\",\"counter\":50},model:{value:(_vm.insured.driver.injuryDescription),callback:function ($$v) {_vm.$set(_vm.insured.driver, \"injuryDescription\", $$v)},expression:\"insured.driver.injuryDescription\"}})],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <!-- Insured Driver Information -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-small text-darkest-blue text-uppercase\">\r\n Insured Driver Information\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Name\"\r\n :items=\"drivers\"\r\n item-text=\"name.displayName\"\r\n return-object\r\n v-model=\"insured.driver\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <div v-if=\"insured.driver && insured.driver.name && insured.driver.name.displayName && insured.driver.name.displayName === 'Other'\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|name|min:2|max:25\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n label=\"Driver First Name\"\r\n v-model=\"insured.driver.name.firstName\"\r\n autocomplete=\"shipping given-name\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|name|min:2|max:25\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n label=\"Driver Last Name\"\r\n v-model=\"insured.driver.name.lastName\"\r\n autocomplete=\"shipping family-name\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"min:4|max:13\"\r\n label=\"Driver License Number\"\r\n autocapitalize=\"characters\"\r\n minlength=\"4\"\r\n maxlength=\"13\"\r\n v-model=\"insured.driver.licenseNumber\"\r\n vid=\"dlNum\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"alpha|min:2|max:2\"\r\n label=\"Driver License State\"\r\n :items=\"stateList\"\r\n item-text=\"StateName\"\r\n item-value=\"StateCode\"\r\n v-model=\"insured.driver.licenseState\"\r\n vid=\"dlState\"></select-input>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <!-- Insured Vehicle Information -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-small text-darkest-blue text-uppercase\">\r\n Insured Vehicle Information\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Vehicle\"\r\n :items=\"vehicles\"\r\n item-text=\"displayName\"\r\n item-value=\"seqNum\"\r\n return-object\r\n v-model=\"insured.vehicle\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"insured.vehicle\">\r\n <v-col cols=\"12\"\r\n md=\"8\">\r\n <label>\r\n Did the airbags deploy?\r\n </label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\">\r\n <radio-group-input rules=\"required\"\r\n name=\"vehicle airbags\"\r\n :options=\"yesNoOptions\"\r\n v-model=\"insured.vehicle.wereAirbagsDeployed\"\r\n vid=\"airbags\"></radio-group-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"insured.vehicle\">\r\n <v-col cols=\"12\"\r\n md=\"8\">\r\n <label>\r\n Is this vehicle driveable?\r\n </label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\">\r\n <radio-group-input rules=\"required\"\r\n name=\"vehicle driveable\"\r\n :options=\"yesNoOptions\"\r\n v-model=\"insured.vehicle.isDriveable\"\r\n vid=\"driveable\"></radio-group-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"insured.vehicle && insured.vehicle.isDriveable && insured.vehicle.isDriveable === 'N'\">\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:3|max:40\"\r\n minlength=\"3\"\r\n maxlength=\"40\"\r\n autocomplete=\"off\"\r\n counter=\"40\"\r\n label=\"Current Location of Vehicle\"\r\n v-model=\"insured.vehicle.currentLocation\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"insured.driver\">\r\n <v-col cols=\"12\"\r\n md=\"8\">\r\n <label>\r\n Was anyone in this vehicle injured?\r\n </label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\">\r\n <radio-group-input rules=\"required\"\r\n name=\"occupant injuries\"\r\n :options=\"yesNoOptions\"\r\n v-model=\"insured.driver.injuryInd\"\r\n vid=\"injuries\"></radio-group-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"insured.driver && insured.driver.injuryInd && insured.driver.injuryInd === 'Y'\">\r\n <v-col>\r\n <text-area-input rules=\"required|all_allowed|min:3|max:50\"\r\n label=\"Describe Injuries\"\r\n autocapitalize=\"sentences\"\r\n autocomplete=\"off\"\r\n minlength=\"3\"\r\n maxlength=\"50\"\r\n :counter=\"50\"\r\n v-model=\"insured.driver.injuryDescription\"></text-area-input>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n/* eslint object-shorthand: 0 */\r\n\r\n export default {\r\n name: 'ClaimInsured',\r\n props: {\r\n insured: {\r\n type: Object,\r\n required: true,\r\n },\r\n drivers: {\r\n type: Array,\r\n required: true,\r\n },\r\n vehicles: {\r\n type: Array,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n data() {\r\n return {\r\n yesNoOptions: [{ Id: 0, DisplayText: 'Yes', Value: 'Y' }, { Id: 1, DisplayText: 'No', Value: 'N' }],\r\n };\r\n },\r\n methods: {\r\n getStateList() {\r\n // Get the state information\r\n dispatch('app/getStateList', { sTfbId: this.trackingId })\r\n .then((stateListResponse) => {\r\n if (stateListResponse && stateListResponse.length > 0) {\r\n this.stateList = stateListResponse;\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n },\r\n watch: {\r\n 'accident.AccidentDate'(val) {\r\n this.accidentDateFormatted = this.formatDate(val);\r\n },\r\n },\r\n mounted() {\r\n this.getStateList();\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Insured.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Insured.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Insured.vue?vue&type=template&id=98ec702a\"\nimport script from \"./Insured.vue?vue&type=script&lang=js\"\nexport * from \"./Insured.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-smaller text-darkest-blue text-uppercase\"},[_vm._v(\" Other Party Driver Information \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|name|min:2|max:25\",\"minlength\":\"2\",\"maxlength\":\"25\",\"label\":\"Driver First Name\",\"autocomplete\":\"off\",\"autocapitalize\":\"words\"},model:{value:(_vm.thirdParty.driver.name.firstName),callback:function ($$v) {_vm.$set(_vm.thirdParty.driver.name, \"firstName\", $$v)},expression:\"thirdParty.driver.name.firstName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|name|min:2|max:25\",\"minlength\":\"2\",\"maxlength\":\"25\",\"label\":\"Driver Last Name\",\"autocomplete\":\"off\",\"autocapitalize\":\"words\"},model:{value:(_vm.thirdParty.driver.name.lastName),callback:function ($$v) {_vm.$set(_vm.thirdParty.driver.name, \"lastName\", $$v)},expression:\"thirdParty.driver.name.lastName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"min:2|max:250\",\"minlength\":\"2\",\"maxlength\":\"250\",\"label\":\"Street Address\",\"autocomplete\":\"off\",\"autocapitalize\":\"words\"},model:{value:(_vm.thirdParty.driver.address.addressLine1),callback:function ($$v) {_vm.$set(_vm.thirdParty.driver.address, \"addressLine1\", $$v)},expression:\"thirdParty.driver.address.addressLine1\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"min:2|max:250\",\"minlength\":\"2\",\"maxlength\":\"250\",\"label\":\"City\",\"autocomplete\":\"off\",\"autocapitalize\":\"words\"},model:{value:(_vm.thirdParty.driver.address.city),callback:function ($$v) {_vm.$set(_vm.thirdParty.driver.address, \"city\", $$v)},expression:\"thirdParty.driver.address.city\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"alpha|min:2|max:2\",\"label\":\"State\",\"items\":_vm.stateList,\"item-text\":\"StateName\",\"item-value\":\"StateCode\",\"vid\":\"addState\"},model:{value:(_vm.thirdParty.driver.address.state),callback:function ($$v) {_vm.$set(_vm.thirdParty.driver.address, \"state\", $$v)},expression:\"thirdParty.driver.address.state\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"numeric|min:5|max:5\",\"minlength\":\"5\",\"maxlength\":\"5\",\"label\":\"ZIP Code\",\"type\":\"number\",\"autocomplete\":\"shipping postal-code\"},model:{value:(_vm.thirdParty.driver.address.zip),callback:function ($$v) {_vm.$set(_vm.thirdParty.driver.address, \"zip\", $$v)},expression:\"thirdParty.driver.address.zip\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('###-###-####'),expression:\"'###-###-####'\"}],attrs:{\"rules\":\"required_if:thirdType|phone_number|min:10|max:12\",\"autocomplete\":\"home tel\",\"minlength\":\"10\",\"maxlength\":\"12\",\"label\":\"Phone Number\",\"type\":\"tel\",\"vid\":\"thirdPhone\"},model:{value:(_vm.thirdParty.driver.phoneNumber),callback:function ($$v) {_vm.$set(_vm.thirdParty.driver, \"phoneNumber\", $$v)},expression:\"thirdParty.driver.phoneNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required_if:thirdPhone\",\"label\":\"Phone Number Type\",\"items\":_vm.phoneTypes,\"item-text\":\"usageTypeName\",\"item-value\":\"usageTypeCode\",\"vid\":\"thirdType\"},model:{value:(_vm.thirdParty.driver.phoneType),callback:function ($$v) {_vm.$set(_vm.thirdParty.driver, \"phoneType\", $$v)},expression:\"thirdParty.driver.phoneType\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required_if:dlState|min:4|max:13\",\"label\":\"Driver License Number\",\"autocapitalize\":\"characters\",\"minlength\":\"4\",\"maxlength\":\"13\",\"vid\":\"dlNum\"},model:{value:(_vm.thirdParty.driver.licenseNumber),callback:function ($$v) {_vm.$set(_vm.thirdParty.driver, \"licenseNumber\", $$v)},expression:\"thirdParty.driver.licenseNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required_if:dlNum|alpha|min:2|max:2\",\"label\":\"Driver License State\",\"items\":_vm.stateList,\"item-text\":\"StateName\",\"item-value\":\"StateCode\",\"vid\":\"dlState\"},model:{value:(_vm.thirdParty.driver.licenseState),callback:function ($$v) {_vm.$set(_vm.thirdParty.driver, \"licenseState\", $$v)},expression:\"thirdParty.driver.licenseState\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-smaller text-darkest-blue text-uppercase\"},[_vm._v(\" Other Party Vehicle Information \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Vehicle Year\",\"items\":_vm.vehicleYears,\"item-text\":\"Value\",\"item-value\":\"Key\"},on:{\"change\":function($event){return _vm.getVehicleMakes()}},model:{value:(_vm.thirdParty.vehicle.year),callback:function ($$v) {_vm.$set(_vm.thirdParty.vehicle, \"year\", $$v)},expression:\"thirdParty.vehicle.year\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Vehicle Make\",\"items\":_vm.vehicleMakes,\"item-text\":\"Value\",\"item-value\":\"Key\",\"disabled\":_vm.makeSelectionDisabled},on:{\"change\":function($event){return _vm.getVehicleModels()}},model:{value:(_vm.thirdParty.vehicle.make),callback:function ($$v) {_vm.$set(_vm.thirdParty.vehicle, \"make\", $$v)},expression:\"thirdParty.vehicle.make\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Vehicle Model\",\"items\":_vm.vehicleModels,\"item-text\":\"Value\",\"item-value\":\"Key\",\"disabled\":_vm.modelSelectionDisabled},model:{value:(_vm.thirdParty.vehicle.model),callback:function ($$v) {_vm.$set(_vm.thirdParty.vehicle, \"model\", $$v)},expression:\"thirdParty.vehicle.model\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required_if:plateState\",\"label\":\"License Plate Number\",\"autocapitalize\":\"characters\",\"vid\":\"plateNum\"},model:{value:(_vm.thirdParty.vehicle.licensePlate),callback:function ($$v) {_vm.$set(_vm.thirdParty.vehicle, \"licensePlate\", $$v)},expression:\"thirdParty.vehicle.licensePlate\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required_if:plateNum|alpha|min:2|max:2\",\"label\":\"License Plate State\",\"items\":_vm.stateList,\"item-text\":\"StateName\",\"item-value\":\"StateCode\",\"vid\":\"plateState\"},model:{value:(_vm.thirdParty.vehicle.licensePlateState),callback:function ($$v) {_vm.$set(_vm.thirdParty.vehicle, \"licensePlateState\", $$v)},expression:\"thirdParty.vehicle.licensePlateState\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required_if:ownerLast|name|min:2|max:25\",\"label\":\"Owner First Name (If Different Than Driver)\",\"autocapitalize\":\"words\",\"autocomplete\":\"off\",\"minlength\":\"2\",\"maxlength\":\"25\",\"vid\":\"ownerFirst\"},model:{value:(_vm.thirdParty.vehicle.ownerInformation.firstName),callback:function ($$v) {_vm.$set(_vm.thirdParty.vehicle.ownerInformation, \"firstName\", $$v)},expression:\"thirdParty.vehicle.ownerInformation.firstName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required_if:ownerFirst|name|min:2|max:25\",\"label\":\"Owner Last Name (If Different Than Driver)\",\"autocapitalize\":\"words\",\"autocomplete\":\"off\",\"minlength\":\"2\",\"maxlength\":\"25\",\"vid\":\"ownerLast\"},model:{value:(_vm.thirdParty.vehicle.ownerInformation.lastName),callback:function ($$v) {_vm.$set(_vm.thirdParty.vehicle.ownerInformation, \"lastName\", $$v)},expression:\"thirdParty.vehicle.ownerInformation.lastName\"}})],1)],1),(_vm.thirdParty.vehicle)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',[_vm._v(\" Did the airbags deploy? \")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('radio-group-input',{attrs:{\"rules\":\"required\",\"name\":\"vehicle airbags\",\"options\":_vm.yesNoOptions,\"vid\":\"airbags\"},model:{value:(_vm.thirdParty.vehicle.wereAirbagsDeployed),callback:function ($$v) {_vm.$set(_vm.thirdParty.vehicle, \"wereAirbagsDeployed\", $$v)},expression:\"thirdParty.vehicle.wereAirbagsDeployed\"}})],1)],1):_vm._e(),(_vm.thirdParty.vehicle)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',[_vm._v(\" Is the vehicle driveable? \")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('radio-group-input',{attrs:{\"rules\":\"required\",\"name\":\"vehicle driveable\",\"options\":_vm.yesNoOptions,\"vid\":\"driveable\"},model:{value:(_vm.thirdParty.vehicle.isDriveable),callback:function ($$v) {_vm.$set(_vm.thirdParty.vehicle, \"isDriveable\", $$v)},expression:\"thirdParty.vehicle.isDriveable\"}})],1)],1):_vm._e(),(_vm.thirdParty.vehicle && _vm.thirdParty.vehicle.isDriveable && _vm.thirdParty.vehicle.isDriveable === 'N')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:3|max:40\",\"minlength\":\"3\",\"maxlength\":\"40\",\"autocomplete\":\"off\",\"counter\":\"40\",\"label\":\"Current Location of Vehicle\"},model:{value:(_vm.thirdParty.vehicle.currentLocation),callback:function ($$v) {_vm.$set(_vm.thirdParty.vehicle, \"currentLocation\", $$v)},expression:\"thirdParty.vehicle.currentLocation\"}})],1)],1):_vm._e(),(_vm.thirdParty.driver)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',[_vm._v(\" Was anyone in this vehicle injured? \")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('radio-group-input',{attrs:{\"rules\":\"required\",\"name\":\"occupant injuries\",\"options\":_vm.yesNoOptions,\"vid\":\"injuries\"},model:{value:(_vm.thirdParty.driver.injuryInd),callback:function ($$v) {_vm.$set(_vm.thirdParty.driver, \"injuryInd\", $$v)},expression:\"thirdParty.driver.injuryInd\"}})],1)],1):_vm._e(),(_vm.thirdParty.driver && _vm.thirdParty.driver.injuryInd && _vm.thirdParty.driver.injuryInd === 'Y')?_c('v-row',[_c('v-col',[_c('text-area-input',{attrs:{\"rules\":\"required|all_allowed|min:3|max:50\",\"label\":\"Describe Injuries\",\"autocapitalize\":\"sentences\",\"autocomplete\":\"off\",\"minlength\":\"3\",\"maxlength\":\"50\",\"counter\":50},model:{value:(_vm.thirdParty.driver.injuryDescription),callback:function ($$v) {_vm.$set(_vm.thirdParty.driver, \"injuryDescription\", $$v)},expression:\"thirdParty.driver.injuryDescription\"}})],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <!-- Other Party Driver Information -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-smaller text-darkest-blue text-uppercase\">\r\n Other Party Driver Information\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|name|min:2|max:25\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n label=\"Driver First Name\"\r\n v-model=\"thirdParty.driver.name.firstName\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|name|min:2|max:25\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n label=\"Driver Last Name\"\r\n v-model=\"thirdParty.driver.name.lastName\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"min:2|max:250\"\r\n minlength=\"2\"\r\n maxlength=\"250\"\r\n label=\"Street Address\"\r\n v-model=\"thirdParty.driver.address.addressLine1\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"min:2|max:250\"\r\n minlength=\"2\"\r\n maxlength=\"250\"\r\n label=\"City\"\r\n v-model=\"thirdParty.driver.address.city\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"alpha|min:2|max:2\"\r\n label=\"State\"\r\n :items=\"stateList\"\r\n item-text=\"StateName\"\r\n item-value=\"StateCode\"\r\n v-model=\"thirdParty.driver.address.state\"\r\n vid=\"addState\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"numeric|min:5|max:5\"\r\n minlength=\"5\"\r\n maxlength=\"5\"\r\n label=\"ZIP Code\"\r\n v-model=\"thirdParty.driver.address.zip\"\r\n type=\"number\"\r\n autocomplete=\"shipping postal-code\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required_if:thirdType|phone_number|min:10|max:12\"\r\n autocomplete=\"home tel\"\r\n minlength=\"10\"\r\n maxlength=\"12\"\r\n label=\"Phone Number\"\r\n v-model=\"thirdParty.driver.phoneNumber\"\r\n v-mask=\"'###-###-####'\"\r\n type=\"tel\"\r\n vid=\"thirdPhone\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required_if:thirdPhone\"\r\n label=\"Phone Number Type\"\r\n :items=\"phoneTypes\"\r\n item-text=\"usageTypeName\"\r\n item-value=\"usageTypeCode\"\r\n v-model=\"thirdParty.driver.phoneType\"\r\n vid=\"thirdType\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required_if:dlState|min:4|max:13\"\r\n label=\"Driver License Number\"\r\n autocapitalize=\"characters\"\r\n minlength=\"4\"\r\n maxlength=\"13\"\r\n v-model=\"thirdParty.driver.licenseNumber\"\r\n vid=\"dlNum\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required_if:dlNum|alpha|min:2|max:2\"\r\n label=\"Driver License State\"\r\n :items=\"stateList\"\r\n item-text=\"StateName\"\r\n item-value=\"StateCode\"\r\n v-model=\"thirdParty.driver.licenseState\"\r\n vid=\"dlState\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Other Party Vehicle Information -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-smaller text-darkest-blue text-uppercase\">\r\n Other Party Vehicle Information\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Vehicle Year\"\r\n :items=\"vehicleYears\"\r\n item-text=\"Value\"\r\n item-value=\"Key\"\r\n v-model=\"thirdParty.vehicle.year\"\r\n @change=\"getVehicleMakes()\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Vehicle Make\"\r\n :items=\"vehicleMakes\"\r\n item-text=\"Value\"\r\n item-value=\"Key\"\r\n v-model=\"thirdParty.vehicle.make\"\r\n @change=\"getVehicleModels()\"\r\n :disabled=\"makeSelectionDisabled\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Vehicle Model\"\r\n :items=\"vehicleModels\"\r\n item-text=\"Value\"\r\n item-value=\"Key\"\r\n v-model=\"thirdParty.vehicle.model\"\r\n :disabled=\"modelSelectionDisabled\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required_if:plateState\"\r\n label=\"License Plate Number\"\r\n autocapitalize=\"characters\"\r\n v-model=\"thirdParty.vehicle.licensePlate\"\r\n vid=\"plateNum\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required_if:plateNum|alpha|min:2|max:2\"\r\n label=\"License Plate State\"\r\n :items=\"stateList\"\r\n item-text=\"StateName\"\r\n item-value=\"StateCode\"\r\n v-model=\"thirdParty.vehicle.licensePlateState\"\r\n vid=\"plateState\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required_if:ownerLast|name|min:2|max:25\"\r\n label=\"Owner First Name (If Different Than Driver)\"\r\n autocapitalize=\"words\"\r\n autocomplete=\"off\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n v-model=\"thirdParty.vehicle.ownerInformation.firstName\"\r\n vid=\"ownerFirst\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required_if:ownerFirst|name|min:2|max:25\"\r\n label=\"Owner Last Name (If Different Than Driver)\"\r\n autocapitalize=\"words\"\r\n autocomplete=\"off\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n v-model=\"thirdParty.vehicle.ownerInformation.lastName\"\r\n vid=\"ownerLast\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"thirdParty.vehicle\">\r\n <v-col cols=\"12\"\r\n md=\"8\">\r\n <label>\r\n Did the airbags deploy?\r\n </label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\">\r\n <radio-group-input rules=\"required\"\r\n name=\"vehicle airbags\"\r\n :options=\"yesNoOptions\"\r\n v-model=\"thirdParty.vehicle.wereAirbagsDeployed\"\r\n vid=\"airbags\"></radio-group-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"thirdParty.vehicle\">\r\n <v-col cols=\"12\"\r\n md=\"8\">\r\n <label>\r\n Is the vehicle driveable?\r\n </label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\">\r\n <radio-group-input rules=\"required\"\r\n name=\"vehicle driveable\"\r\n :options=\"yesNoOptions\"\r\n v-model=\"thirdParty.vehicle.isDriveable\"\r\n vid=\"driveable\"></radio-group-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"thirdParty.vehicle && thirdParty.vehicle.isDriveable && thirdParty.vehicle.isDriveable === 'N'\">\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:3|max:40\"\r\n minlength=\"3\"\r\n maxlength=\"40\"\r\n autocomplete=\"off\"\r\n counter=\"40\"\r\n label=\"Current Location of Vehicle\"\r\n v-model=\"thirdParty.vehicle.currentLocation\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"thirdParty.driver\">\r\n <v-col cols=\"12\"\r\n md=\"8\">\r\n <label>\r\n Was anyone in this vehicle injured?\r\n </label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\">\r\n <radio-group-input rules=\"required\"\r\n name=\"occupant injuries\"\r\n :options=\"yesNoOptions\"\r\n v-model=\"thirdParty.driver.injuryInd\"\r\n vid=\"injuries\"></radio-group-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"thirdParty.driver && thirdParty.driver.injuryInd && thirdParty.driver.injuryInd === 'Y'\">\r\n <v-col>\r\n <text-area-input rules=\"required|all_allowed|min:3|max:50\"\r\n label=\"Describe Injuries\"\r\n autocapitalize=\"sentences\"\r\n autocomplete=\"off\"\r\n minlength=\"3\"\r\n maxlength=\"50\"\r\n :counter=\"50\"\r\n v-model=\"thirdParty.driver.injuryDescription\"></text-area-input>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import { mask } from 'vue-the-mask';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n/* eslint object-shorthand: 0 */\r\n\r\n export default {\r\n name: 'ClaimThirdParty',\r\n props: {\r\n thirdParty: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n directives: { mask },\r\n data() {\r\n return {\r\n stateList: [],\r\n phoneTypes: [],\r\n vehicleYears: [],\r\n vehicleMakes: [],\r\n vehicleModels: [],\r\n yearSelectionDisabled: true,\r\n makeSelectionDisabled: true,\r\n modelSelectionDisabled: true,\r\n yesNoOptions: [{ Id: 0, DisplayText: 'Yes', Value: 'Y' }, { Id: 1, DisplayText: 'No', Value: 'N' }],\r\n };\r\n },\r\n methods: {\r\n getStateList() {\r\n // Get the state information\r\n dispatch('app/getStateList', { sTfbId: this.trackingId })\r\n .then((stateListResponse) => {\r\n if (stateListResponse && stateListResponse.length > 0) {\r\n this.stateList = stateListResponse;\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getPhoneTypes() {\r\n // Get the phone type information\r\n dispatch('claims/getPhoneTypes')\r\n .then((phoneTypeList) => {\r\n if (phoneTypeList && phoneTypeList.length > 0) {\r\n this.phoneTypes = phoneTypeList;\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getVehicleYears() {\r\n // Get the vehicle years information\r\n dispatch('claims/getVehicleYears')\r\n .then((vehicleYearResponse) => {\r\n if (vehicleYearResponse && vehicleYearResponse.length > 0) {\r\n this.vehicleYears = vehicleYearResponse;\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getVehicleMakes() {\r\n if (this.thirdParty.vehicle.year && this.thirdParty.vehicle.year !== '') {\r\n this.vehicleMakes = null;\r\n this.vehicleModels = null;\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('claims/getVehicleMakesByYear', { sYear: this.thirdParty.vehicle.year, sTfbId: this.trackingId })\r\n .then((makeListResponse) => {\r\n this.makeSelectionDisabled = false;\r\n this.vehicleMakes = makeListResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$router.push({ name: 'claims' });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n }\r\n },\r\n getVehicleModels() {\r\n if (this.thirdParty.vehicle.make && this.thirdParty.vehicle.make !== '') {\r\n this.vehicleModels = null;\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('claims/getVehicleModelsByYearMake', { sYear: this.thirdParty.vehicle.year, sMake: this.thirdParty.vehicle.make, sTfbId: this.trackingId })\r\n .then((modelListResponse) => {\r\n this.modelSelectionDisabled = false;\r\n this.vehicleModels = modelListResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$router.push({ name: 'claims' });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n }\r\n },\r\n },\r\n watch: {\r\n 'accident.AccidentDate'(val) {\r\n this.accidentDateFormatted = this.formatDate(val);\r\n },\r\n },\r\n mounted() {\r\n this.getStateList();\r\n this.getVehicleYears();\r\n this.getPhoneTypes();\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThirdParty.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThirdParty.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ThirdParty.vue?vue&type=template&id=402edd25\"\nimport script from \"./ThirdParty.vue?vue&type=script&lang=js\"\nexport * from \"./ThirdParty.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.locations !== null && _vm.locations.length > 1)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Loss Location\",\"items\":_vm.locations,\"item-text\":\"DisplayAddress\",\"return-object\":\"\"},model:{value:(_vm.lossInformation.lossLocation),callback:function ($$v) {_vm.$set(_vm.lossInformation, \"lossLocation\", $$v)},expression:\"lossInformation.lossLocation\"}})],1)],1):_vm._e(),((_vm.lossInformation.lossLocation && _vm.lossInformation.lossLocation.DisplayAddress && _vm.lossInformation.lossLocation.DisplayAddress === 'Other') || _vm.locations === null || _vm.locations.length <= 1)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:3|max:40\",\"minlength\":\"3\",\"maxlength\":\"40\",\"autocomplete\":\"off\",\"label\":\"Loss Location\",\"vid\":\"lossLocation\"},model:{value:(_vm.lossInformation.location),callback:function ($$v) {_vm.$set(_vm.lossInformation, \"location\", $$v)},expression:\"lossInformation.location\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:3|max:25\",\"minlength\":\"3\",\"maxlength\":\"25\",\"autocapitalize\":\"words\",\"autocomplete\":\"shipping address-level2\",\"label\":\"City\",\"vid\":\"lossCity\"},model:{value:(_vm.lossInformation.city),callback:function ($$v) {_vm.$set(_vm.lossInformation, \"city\", $$v)},expression:\"lossInformation.city\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"County\",\"items\":_vm.countyList,\"item-text\":\"CountyName\",\"item-value\":\"CountyName\",\"vid\":\"lossCounty\"},model:{value:(_vm.lossInformation.county),callback:function ($$v) {_vm.$set(_vm.lossInformation, \"county\", $$v)},expression:\"lossInformation.county\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required|alpha|min:2|max:2\",\"label\":\"State\",\"items\":_vm.stateList,\"item-text\":\"StateName\",\"item-value\":\"StateCode\",\"vid\":\"lossState\"},model:{value:(_vm.lossInformation.state),callback:function ($$v) {_vm.$set(_vm.lossInformation, \"state\", $$v)},expression:\"lossInformation.state\"}})],1)],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <v-row v-if=\"locations !== null && locations.length > 1\">\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Loss Location\"\r\n :items=\"locations\"\r\n item-text=\"DisplayAddress\"\r\n return-object\r\n v-model=\"lossInformation.lossLocation\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <div v-if=\"(lossInformation.lossLocation && lossInformation.lossLocation.DisplayAddress && lossInformation.lossLocation.DisplayAddress === 'Other') || locations === null || locations.length <= 1\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:3|max:40\"\r\n minlength=\"3\"\r\n maxlength=\"40\"\r\n autocomplete=\"off\"\r\n label=\"Loss Location\"\r\n v-model=\"lossInformation.location\"\r\n vid=\"lossLocation\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Loss City -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:3|max:25\"\r\n minlength=\"3\"\r\n maxlength=\"25\"\r\n autocapitalize=\"words\"\r\n autocomplete=\"shipping address-level2\"\r\n label=\"City\"\r\n v-model=\"lossInformation.city\"\r\n vid=\"lossCity\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- County -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"County\"\r\n :items=\"countyList\"\r\n item-text=\"CountyName\"\r\n item-value=\"CountyName\"\r\n v-model=\"lossInformation.county\"\r\n vid=\"lossCounty\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- State -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required|alpha|min:2|max:2\"\r\n label=\"State\"\r\n :items=\"stateList\"\r\n item-text=\"StateName\"\r\n item-value=\"StateCode\"\r\n v-model=\"lossInformation.state\"\r\n vid=\"lossState\"></select-input>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\n export default {\r\n name: 'LossLocation',\r\n props: {\r\n lossInformation: {\r\n type: Object,\r\n required: true,\r\n },\r\n locations: {\r\n type: Array,\r\n required: true,\r\n },\r\n stateList: {\r\n type: Object,\r\n required: true,\r\n },\r\n countyList: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LossLocation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LossLocation.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LossLocation.vue?vue&type=template&id=65ae7b17\"\nimport script from \"./LossLocation.vue?vue&type=script&lang=js\"\nexport * from \"./LossLocation.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div id=\"start-claim\"\r\n class=\"background-darker-blue tfb-claim\">\r\n <h1 class=\"tfb-title-text-large text-center\">\r\n File A Claim\r\n </h1>\r\n <v-container class=\"tfb-smallest-container tfb-claim-box\">\r\n <ValidationObserver ref=\"obv\">\r\n <v-form ref=\"form\"\r\n lazy-validation\r\n @submit.stop.prevent=\"onSubmit\"\r\n v-if=\"claim\">\r\n <!-- ClaimPoint link -->\r\n <claim-point-link :showClaimPoint=\"showClaimPoint\"\r\n :policyNumber=\"claim.policyNumber\"\r\n :insuredName=\"primaryInsured.name.displayName\"\r\n :dateOfLoss=\"loss.date\"></claim-point-link>\r\n <!-- Policyholder Information -->\r\n <span class=\"tfb-title-text-small text-darkest-blue text-uppercase\">\r\n Policy Holder Information\r\n </span>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"5\">\r\n <span class=\"tfb-title-text text-darkest-blue font-weight-bold\">\r\n Policy Number:\r\n </span>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"7\">\r\n {{claim.policyNumber}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"5\">\r\n <span class=\"tfb-title-text text-darkest-blue font-weight-bold\">\r\n Insured Name:\r\n </span>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"7\">\r\n {{primaryInsured.name.displayName}}\r\n </v-col>\r\n </v-row>\r\n <!-- Preferred Contact Phone Number -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required_if:prefType|phone_number|min:10|max:12\"\r\n autocomplete=\"home tel\"\r\n minlength=\"10\"\r\n maxlength=\"12\"\r\n label=\"Preferred Contact Phone Number\"\r\n v-model=\"preferredPhoneEntry\"\r\n v-mask=\"'###-###-####'\"\r\n type=\"tel\"\r\n vid=\"prefPhone\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Preferred Contact Phone Number Type -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required_if:prefPhone\"\r\n label=\"Preferred Contact Phone Number Type\"\r\n :items=\"phoneTypes\"\r\n item-text=\"usageTypeName\"\r\n item-value=\"usageTypeCode\"\r\n v-model=\"preferredPhoneTypeEntry\"\r\n vid=\"prefType\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Reporter Information -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-small text-darkest-blue text-uppercase\">\r\n Reporter Information\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <required-fields-row></required-fields-row>\r\n <!-- Reporter Name -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|name|min:2|max:60\"\r\n minlength=\"2\"\r\n maxlength=\"60\"\r\n autocomplete=\"shipping given-name\"\r\n autocapitalize=\"words\"\r\n label=\"Name\"\r\n v-model=\"reporter.name\"\r\n vid=\"reportName\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- On Behalf Of -->\r\n <v-row v-if=\"!isMemberRole\">\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|name|min:2|max:60\"\r\n minlength=\"2\"\r\n maxlength=\"60\"\r\n autocomplete=\"shipping given-name\"\r\n autocapitalize=\"words\"\r\n label=\"On Behalf Of\"\r\n v-model=\"reporter.onBehalfOf\"\r\n vid=\"behalfName\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Reporter Type -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Type\"\r\n :items=\"reporterTypes\"\r\n item-text=\"Key\"\r\n item-value=\"Value\"\r\n v-model=\"reporter.type\"\r\n vid=\"reportType\"\r\n :disabled=\"!isMemberRole\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Reporter Phone Number -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|phone_number|min:10|max:12\"\r\n autocomplete=\"home tel\"\r\n minlength=\"10\"\r\n maxlength=\"12\"\r\n label=\"Phone Number\"\r\n v-model=\"reporter.phoneNumber\"\r\n v-mask=\"'###-###-####'\"\r\n type=\"tel\"\r\n vid=\"reportPhone\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Reporter Phone Number Type -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Phone Number Type\"\r\n :items=\"phoneTypes\"\r\n item-text=\"usageTypeName\"\r\n item-value=\"usageTypeCode\"\r\n v-model=\"reporter.phoneType\"\r\n vid=\"reportPhoneType\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Email Address -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"email|valid_domain|min:3|max:250\"\r\n autocomplete=\"home email\"\r\n minlength=\"3\"\r\n maxlength=\"250\"\r\n label=\"Email Address\"\r\n v-model=\"reporter.emailAddress\"\r\n type=\"email\"\r\n vid=\"reportEmail\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Loss/Damage Information -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-small text-darkest-blue text-uppercase\">\r\n Loss/Damage Information\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"5\">\r\n <span class=\"tfb-title-text text-darkest-blue font-weight-bold\">\r\n Date of Loss:\r\n </span>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"7\">\r\n {{dateOfLossFormatted}}\r\n </v-col>\r\n </v-row>\r\n <!-- Time of Loss -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-menu :close-on-content-click=\"false\"\r\n :nudge-right=\"40\"\r\n max-width=\"290px\"\r\n min-width=\"290px\"\r\n offset-y\r\n ref=\"menu\"\r\n :return-value.sync=\"timeOfLoss\"\r\n transition=\"scale-transition\"\r\n v-model=\"timeMenu\">\r\n <template v-slot:activator=\"{ on }\">\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required\"\r\n name=\"Time of Loss\"\r\n v-slot=\"{ errors, valid }\"\r\n vid=\"lossTime\">\r\n <v-text-field outlined\r\n required\r\n hide-details=\"auto\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n v-model=\"timeOfLossFormatted\"\r\n readonly\r\n label=\"Time of Loss\"\r\n v-on=\"on\">\r\n <template v-slot:append>\r\n <v-icon>mdi-clock-outline</v-icon>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-text-field>\r\n </ValidationProvider>\r\n </template>\r\n <v-time-picker ampm-in-title\r\n @click:minute=\"$refs.menu.save(timeOfLoss)\"\r\n full-width\r\n v-if=\"timeMenu\"\r\n format=\"ampm\"\r\n v-model=\"timeOfLoss\">\r\n </v-time-picker>\r\n </v-menu>\r\n </v-col>\r\n </v-row>\r\n <!-- Type of Loss -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Type of Loss\"\r\n :items=\"lossTypes\"\r\n item-text=\"name\"\r\n item-value=\"code\"\r\n v-model=\"loss.type\"\r\n vid=\"lossType\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Additional Description of Loss -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-area-input rules=\"required|all_allowed|max:1000\"\r\n label=\"Additional Description of Loss\"\r\n autocapitalize=\"sentences\"\r\n autocomplete=\"off\"\r\n maxlength=\"1000\"\r\n :counter=\"1000\"\r\n v-model=\"loss.description\"\r\n vid=\"lossDescription\"></text-area-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"claim.destination === 1\">\r\n <v-col cols=\"12\">\r\n <text-input rules=\"all_allowed|min:2|max:40\"\r\n minlength=\"2\"\r\n maxlength=\"40\"\r\n autocapitalize=\"words\"\r\n autocomplete=\"off\"\r\n label=\"Police Department\"\r\n v-model=\"loss.policeDepartment\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"claim.destination === 1\">\r\n <v-col cols=\"12\">\r\n <text-input rules=\"all_allowed|min:2|max:25\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n autocapitalize=\"words\"\r\n autocomplete=\"off\"\r\n label=\"Police Case Number\"\r\n v-model=\"loss.policeCaseNumber\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Property Claim Entry Screen -->\r\n <div v-if=\"claim.type !== 0\">\r\n <loss-location :loss-information=\"loss\"\r\n :locations=\"locationsList\"\r\n :state-list=\"stateList\"\r\n :county-list=\"countyList\"></loss-location>\r\n </div>\r\n <!-- Auto Claim Entry Screen -->\r\n <div v-if=\"claim.type === 0\">\r\n <!-- Loss Location -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:3|max:40\"\r\n minlength=\"3\"\r\n maxlength=\"40\"\r\n autocomplete=\"off\"\r\n label=\"Loss Location\"\r\n v-model=\"loss.location\"\r\n vid=\"lossLocation\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Loss City -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:3|max:25\"\r\n minlength=\"3\"\r\n maxlength=\"25\"\r\n autocapitalize=\"words\"\r\n autocomplete=\"shipping address-level2\"\r\n label=\"City\"\r\n v-model=\"loss.city\"\r\n vid=\"lossCity\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- County -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input label=\"County\"\r\n :items=\"countyList\"\r\n item-text=\"CountyName\"\r\n item-value=\"CountyName\"\r\n v-model=\"loss.county\"\r\n vid=\"lossCounty\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- State -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required|alpha|min:2|max:2\"\r\n label=\"State\"\r\n :items=\"stateList\"\r\n item-text=\"StateName\"\r\n item-value=\"StateCode\"\r\n v-model=\"loss.state\"\r\n vid=\"lossState\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Insured Information -->\r\n <insured-details v-for=\"insured in insureds\"\r\n v-bind:key=\"insured.Id\"\r\n :insured=\"insured\"\r\n :drivers=\"driverList\"\r\n :vehicles=\"vehicleList\"\r\n v-bind.sync=\"insured\"\r\n v-on:remove-insured=\"removeInsured($event)\"></insured-details>\r\n <v-row class=\"mt-3\">\r\n <v-col cols=\"12\"\r\n md=\"8\">\r\n <label>\r\n Was another party involved?\r\n </label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\">\r\n <radio-group-input rules=\"required\"\r\n name=\"other party\"\r\n :options=\"yesNoOptions\"\r\n v-model=\"hasThirdParty\"\r\n vid=\"thirdParty\"></radio-group-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Third Party Information -->\r\n <div v-if=\"hasThirdParty === 'Y'\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-small text-darkest-blue text-uppercase\">\r\n Other Party Information\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <third-party-details v-for=\"thirdParty in thirdParties\"\r\n v-bind:key=\"thirdParty.Id\"\r\n :third-party=\"thirdParty\"\r\n v-bind.sync=\"thirdParty\"\r\n v-on:remove-third-party=\"removeThirdParty($event)\"></third-party-details>\r\n </div>\r\n </div>\r\n <!-- Photo upload -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-small text-darkest-blue text-uppercase\">\r\n Photos\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-file-input accept=\"image/*\"\r\n :clearable=\"false\"\r\n counter\r\n label=\"Select Photos\"\r\n multiple\r\n placeholder=\"Select Photos\"\r\n prepend-icon=\"mdi-paperclip\"\r\n :rules=\"fileRules\"\r\n show-size\r\n v-model=\"files\">\r\n <template v-slot:selection=\"{ index, text }\">\r\n <v-chip @click:close=\"deleteChip(index)\"\r\n close\r\n color=\"primary\"\r\n label\r\n small>\r\n {{ text }}\r\n </v-chip>\r\n </template>\r\n </v-file-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n class=\"tfb-button background-red\"\r\n type=\"submit\">\r\n Submit Claim\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n <v-row v-else>\r\n <v-col>\r\n Unable to locate policy information. Please try again later.\r\n </v-col>\r\n </v-row>\r\n </ValidationObserver>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n /* eslint dot-notation: 0 */\r\n import { orderBy } from 'lodash';\r\n import { dispatch, get } from 'vuex-pathify';\r\n import { mask } from 'vue-the-mask';\r\n import { format } from 'date-fns';\r\n import { ValidationObserver, ValidationProvider } from 'vee-validate';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import RequiredFieldsRow from '@/views/layout/components/RequiredFieldsRow.vue';\r\n import ClaimPointLink from './components/ClaimPointLink.vue';\r\n import InsuredDetails from './components/Insured.vue';\r\n import ThirdPartyDetails from './components/ThirdParty.vue';\r\n import LossLocation from './components/LossLocation.vue';\r\n\r\n export default {\r\n name: 'ClaimReport',\r\n mixins: [tfbMetaMixin, tfbHelperMixin],\r\n components: {\r\n ValidationObserver,\r\n ValidationProvider,\r\n RequiredFieldsRow,\r\n ClaimPointLink,\r\n InsuredDetails,\r\n ThirdPartyDetails,\r\n LossLocation,\r\n },\r\n directives: { mask },\r\n data() {\r\n return {\r\n formDisabled: false,\r\n timeMenu: false,\r\n files: [],\r\n preferredPhoneEntry: undefined,\r\n preferredPhoneTypeEntry: undefined,\r\n hasThirdParty: 'N',\r\n phoneTypes: [],\r\n reporterTypes: [],\r\n lossTypes: [],\r\n countyList: [],\r\n stateList: [],\r\n claim: null,\r\n primaryInsured: null,\r\n reporter: null,\r\n loss: null,\r\n insureds: [],\r\n thirdParties: [],\r\n timeOfLoss: format(new Date(), 'kk:mm:ss'),\r\n timeOfLossFormatted: this.formatTime(new Date().toISOString()),\r\n yesNoOptions: [{ Id: 0, DisplayText: 'Yes', Value: 'Y' }, { Id: 1, DisplayText: 'No', Value: 'N' }],\r\n fileRules: [\r\n files => !files || !files.some(file => file.size > 10000000) || 'File size should be less than 10 MB!',\r\n ],\r\n // TODO: validation on fields relying on other fields (DL entered, must enter DL state; etc.)\r\n };\r\n },\r\n computed: {\r\n metaDescription() {\r\n return 'Complete your Texas Farm Bureau Insurance claim.';\r\n },\r\n metaPageTitle() {\r\n if (this.$store.state.claims.claim.type === 0) {\r\n return 'Auto Claim';\r\n }\r\n return 'Property Claim';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/claims`;\r\n },\r\n ...get('claims', { driverList: 'drivers', vehicleList: 'vehicles', locationsList: 'locations' }),\r\n filteredLossTypes() {\r\n let search = null;\r\n if (this.claim && this.claim.policyType) {\r\n if (this.claim.policyType.toLowerCase().trim() === 'sm') {\r\n search = 'pa';\r\n } else if (this.claim.policyType.toLowerCase().trim() === 'ca') {\r\n search = 'ca';\r\n }\r\n }\r\n if (!search) return this.lossTypes;\r\n if (!this.lossTypes || this.lossTypes === null || this.lossTypes.length <= 0) return this.lossTypes;\r\n return this.lossTypes.filter(c => c.lob.toLowerCase().indexOf(search) > -1);\r\n },\r\n isAutoClaim() {\r\n return this.$store.state.claims.claim.type === 0;\r\n },\r\n dateOfLossFormatted() {\r\n if (this.loss && this.loss !== null) {\r\n return this.formatDate(this.loss.date);\r\n }\r\n\r\n return this.formatDate(new Date().toISOString());\r\n },\r\n showClaimPoint() {\r\n try {\r\n if (this.$store.getters['app/claimPointEnabled'] === 'Y' && this.claim && this.claim.policyType && this.claim.policyType.toLowerCase().trim() === 'sm' && this.claim.policySubtype === '1') {\r\n return true;\r\n }\r\n return false;\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n },\r\n watch: {\r\n timeOfLoss(val) {\r\n let lossTimeStamp = new Date();\r\n if (this.loss && this.loss !== null) {\r\n lossTimeStamp = `${this.loss.date}T${val}:00`;\r\n } else {\r\n lossTimeStamp = `${this.parseDate(new Date().toISOString())}T${val}:00`;\r\n }\r\n this.timeOfLossFormatted = this.formatTime(lossTimeStamp);\r\n this.loss.time = `${val}:00.0`;\r\n },\r\n hasThirdParty(val) {\r\n if (val === 'N') {\r\n this.thirdParties = [];\r\n } else {\r\n this.thirdParties = [{\r\n driver: {\r\n address: {},\r\n injuryInd: null,\r\n name: {},\r\n },\r\n vehicle: {\r\n currentLocation: null,\r\n displayName: null,\r\n isDriveable: null,\r\n ownerInformation: {},\r\n },\r\n }];\r\n }\r\n },\r\n },\r\n created() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n this.getLossTypes();\r\n this.getPhoneTypes();\r\n this.getReporterTypes();\r\n this.getCountyList();\r\n this.getStateList();\r\n this.getClaimInformation();\r\n },\r\n methods: {\r\n async getClaimInformation() {\r\n this.claim = this.$store.state.claims.claim;\r\n this.primaryInsured = this.$store.state.claims.primaryInsured;\r\n this.reporter = this.$store.state.claims.reporter;\r\n this.loss = this.$store.state.claims.loss;\r\n this.insureds = this.$store.state.claims.insureds;\r\n this.thirdParties = this.$store.state.claims.thirdParties;\r\n if (this.claim && this.claim.policyNumber !== null && this.claim.policyNumber !== '') {\r\n // Is this a logged in user?\r\n if (this.isLoggedIn) {\r\n // Is this the member or an agent/secretary/employee?\r\n if (this.isMemberRole) {\r\n // Member is filling out the form\r\n this.reporter.name = this.primaryInsured.name.displayName;\r\n this.reporter.type = 'insured';\r\n this.reporter.phoneNumber = this.removePhoneFormatting(this.primaryInsured.phone);\r\n this.reporter.phoneType = this.primaryInsured.phoneType;\r\n this.reporter.emailAddress = this.primaryInsured.emailAddress !== null && this.primaryInsured.emailAddress !== ''\r\n ? this.primaryInsured.emailAddress : this.$store.state.member.emailAddress;\r\n } else {\r\n // Agent/secretary/employee is filling out the form\r\n this.reporter.name = this.$store.state.member.memberName;\r\n this.reporter.onBehalfOf = this.primaryInsured.name.displayName;\r\n this.reporter.type = 'agent';\r\n this.reporter.phoneType = 'Work';\r\n // if (this.$store.state.member.memberName && this.$store.state.member.memberName !== null && this.$store.state.member.memberName !== '') {\r\n // this.reporter.name = this.$store.state.member.memberName;\r\n // }\r\n if (this.$store.state.member.emailAddress && this.$store.state.member.emailAddress !== null && this.$store.state.member.emailAddress !== '') {\r\n this.reporter.emailAddress = this.$store.state.member.emailAddress;\r\n }\r\n }\r\n }\r\n this.loss.time = format(new Date(), 'kk:mm:ss');\r\n dispatch('app/setIsLoading', false);\r\n } else {\r\n dispatch('app/setErrorMessage', 'Unable to locate policy information');\r\n dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'claims' });\r\n }\r\n },\r\n getPhoneTypes() {\r\n // Get the phone type information\r\n dispatch('claims/getPhoneTypes')\r\n .then((phoneTypeList) => {\r\n if (phoneTypeList && phoneTypeList.length > 0) {\r\n this.phoneTypes = phoneTypeList;\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getReporterTypes() {\r\n // Get the reporter type information\r\n dispatch('claims/getReporterTypes')\r\n .then((reporterTypeList) => {\r\n if (reporterTypeList && reporterTypeList.length > 0) {\r\n this.reporterTypes = reporterTypeList;\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getCountyList() {\r\n // Get the county information\r\n dispatch('claims/getCountyList')\r\n .then((countyListResponse) => {\r\n if (countyListResponse && countyListResponse.length > 0) {\r\n this.countyList = orderBy(countyListResponse, ['CountyName'], ['asc']);\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getStateList() {\r\n // Get the state information\r\n dispatch('app/getStateList', { sTfbId: this.trackingId })\r\n .then((stateListResponse) => {\r\n if (stateListResponse && stateListResponse.length > 0) {\r\n this.stateList = stateListResponse;\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getLossTypes() {\r\n // Get the loss type information\r\n dispatch('claims/getLossTypes')\r\n .then((lossTypeList) => {\r\n if (lossTypeList && lossTypeList.length > 0) {\r\n this.lossTypes = lossTypeList;\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n deleteChip(index) {\r\n // Prompt here with text if required\r\n this.files.splice(index, 1);\r\n },\r\n onSubmit() {\r\n dispatch('app/clearErrorMessage');\r\n this.formDisabled = true;\r\n this.$refs.form.validate();\r\n this.$refs.obv.validate().then((success) => {\r\n if (!success) {\r\n this.formDisabled = false;\r\n setTimeout(() => {\r\n const errors = Object.entries(this.$refs.obv.errors)\r\n .map(([key, value]) => ({ key, value }))\r\n .filter(error => error['value'].length);\r\n this.$refs.obv.refs[errors[0]['key']].$el.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'center',\r\n });\r\n }, 100);\r\n } else {\r\n dispatch('app/setIsLoading', true);\r\n this.formDisabled = true;\r\n if (this.files && this.files.length > 0) {\r\n this.claim.hasPhotos = 'Y';\r\n } else {\r\n this.claim.hasPhotos = 'N';\r\n }\r\n dispatch('claims/submitClaim', {\r\n preferredPhone: this.preferredPhoneEntry,\r\n preferredPhoneType: this.preferredPhoneTypeEntry,\r\n claim: this.claim,\r\n reporter: this.reporter,\r\n loss: this.loss,\r\n insureds: this.insureds,\r\n thirdParties: this.thirdParties,\r\n files: this.files,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((claimResponse) => {\r\n if (claimResponse && claimResponse.data && claimResponse.data.SubmissionStatus === 'SUCCESS') {\r\n // Go to confirmation screen\r\n this.$router.push({ name: 'claimsReportConfirm' });\r\n } else {\r\n this.formDisabled = false;\r\n dispatch('app/setErrorMessage', { ErrorMessage: 'Error submitting claim information. Please try again later.' });\r\n }\r\n dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n dispatch('app/setIsLoading', false);\r\n this.formDisabled = false;\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n }\r\n });\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfb-claim {\r\n padding-top: 50px;\r\n padding-bottom: 100px;\r\n }\r\n\r\n .tfb-claim-box {\r\n background-color: $white;\r\n padding: 20px;\r\n color: $tfb-darkest-blue;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClaimReport.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClaimReport.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ClaimReport.vue?vue&type=template&id=c1036cc4\"\nimport script from \"./ClaimReport.vue?vue&type=script&lang=js\"\nexport * from \"./ClaimReport.vue?vue&type=script&lang=js\"\nimport style0 from \"./ClaimReport.vue?vue&type=style&index=0&id=c1036cc4&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"background-darker-blue tfb-claim\",attrs:{\"id\":\"start-claim\"}},[_c('h1',{staticClass:\"tfb-title-text-large text-center\"},[_vm._v(\" File A Claim \")]),_c('v-container',{staticClass:\"tfb-smallest-container tfb-claim-box\"},[_c('h2',{staticClass:\"tfb-title-text-small text-darkest-blue text-uppercase\"},[_vm._v(\" Claim Submission Confirmation \")]),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" Your claim has been submitted successfully!\"),_c('br'),_c('br'),(_vm.claimNumber !== undefined && _vm.claimNumber !== null && _vm.claimNumber !== '')?_c('div',[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Claim Number: \")]),_c('span',{attrs:{\"id\":\"claimNumber\"}},[_vm._v(_vm._s(_vm.claimNumber))])]):_c('div',[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Confirmation Number: \")]),_c('span',{attrs:{\"id\":\"caseNumber\"}},[_vm._v(_vm._s(_vm.claimConfirmation))]),_c('br'),_c('br'),_c('p',[_vm._v(\" Please keep the above confirmation number for your records. \"),_c('strong',[_vm._v(\"It is not your claim number.\")]),_vm._v(\" That will be provided to you by a Texas Farm Bureau Insurance Claims Representative. \")]),_c('p',[_vm._v(\" Please also note that your claim will not be viewable online until it is entered into the system by your Claims Representative. \")])])])],1),(_vm.selectedFiles && _vm.selectedFiles.length > 0)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"tfb-title-text-smaller text-darkest-blue text-uppercase\"},[_vm._v(\" Uploaded Files: \")]),(_vm.errorFiles && _vm.errorFiles.length > 0)?_c('ul',_vm._l((_vm.errorFiles),function(file){return _c('li',{key:file.id,staticStyle:{\"list-style-type\":\"none\"}},[_c('v-icon',{staticClass:\"text-red\"},[_vm._v(\"mdi-close\")]),_vm._v(\" \"+_vm._s(file.name)+\" \")],1)}),0):_vm._e(),(_vm.uploadedFiles && _vm.uploadedFiles.length > 0)?_c('ul',_vm._l((_vm.uploadedFiles),function(file){return _c('li',{key:file.id,staticStyle:{\"list-style-type\":\"none\"}},[_c('v-icon',{staticClass:\"text-off-white\"},[_vm._v(\"mdi-check\")]),_vm._v(\" \"+_vm._s(file.name)+\" \")],1)}),0):_vm._e()])],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"tfb-title-text-smaller text-darkest-blue text-uppercase\"},[_vm._v(\" Claims Adjuster \")])])],1),(!_vm.claimAdjuster)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" Adjuster Information Unavailable\"),_c('br')])],1):_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.claimAdjuster.Name === null || _vm.claimAdjuster.Name === '' || _vm.claimAdjuster.Name === 'null')?_c('div',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Adjuster Information Unavailable\")]),_c('br')]):_c('div',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.claimAdjuster.Name))]),_c('br')]),_c('address',[(_vm.claimAdjuster.Email && _vm.claimAdjuster.Email !== null\n && _vm.claimAdjuster.Email !== '' && _vm.claimAdjuster.Email !== 'null')?_c('div',[_c('span',[_vm._v(\"Email:\")]),_c('a',{attrs:{\"href\":_vm._f(\"linkFormatEmail\")(_vm.claimAdjuster.Email),\"itemprop\":\"email\"}},[_vm._v(_vm._s(_vm.claimAdjuster.Email))]),_c('br')]):_vm._e(),(_vm.claimAdjuster.office && _vm.claimAdjuster.office !== null\n && _vm.claimAdjuster.office.Phone !== null && _vm.claimAdjuster.office.Phone !== ''\n && _vm.claimAdjuster.office.Phone !== 'null')?_c('div',[_c('label',[_vm._v(\"Phone:\")]),_c('a',{attrs:{\"href\":_vm._f(\"linkFormatPhone\")(_vm.claimAdjuster.office.Phone),\"itemprop\":\"telephone\"}},[_vm._v(_vm._s(_vm._f(\"formatPhone\")(_vm.claimAdjuster.office.Phone)))]),_c('br')]):_vm._e()])])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"start-claim\"\r\n class=\"background-darker-blue tfb-claim\">\r\n <h1 class=\"tfb-title-text-large text-center\">\r\n File A Claim\r\n </h1>\r\n <v-container class=\"tfb-smallest-container tfb-claim-box\">\r\n <h2 class=\"tfb-title-text-small text-darkest-blue text-uppercase\">\r\n Claim Submission Confirmation\r\n </h2>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n Your claim has been submitted successfully!<br /><br />\r\n <div v-if=\"claimNumber !== undefined && claimNumber !== null && claimNumber !== ''\">\r\n <label class=\"font-weight-bold\">Claim Number: </label>\r\n <span id=\"claimNumber\">{{claimNumber}}</span>\r\n </div>\r\n <div v-else>\r\n <label class=\"font-weight-bold\">Confirmation Number: </label>\r\n <span id=\"caseNumber\">{{claimConfirmation}}</span>\r\n <br />\r\n <br />\r\n <p>\r\n Please keep the above confirmation number for your records.\r\n <strong>It is not your claim number.</strong>\r\n That will be provided to you by a Texas Farm Bureau Insurance Claims Representative.\r\n </p>\r\n <p>\r\n Please also note that your claim will not be viewable online until it is entered into the system by your Claims Representative.\r\n </p>\r\n </div>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"selectedFiles && selectedFiles.length > 0\">\r\n <v-col cols=\"12\">\r\n <h3 class=\"tfb-title-text-smaller text-darkest-blue text-uppercase\">\r\n Uploaded Files:\r\n </h3>\r\n <!--<ul v-if=\"pendingFiles && pendingFiles.length > 0\">\r\n <li v-for=\"file in pendingFiles\"\r\n v-bind:key=\"file.id\"\r\n style=\"list-style-type:none;\">\r\n <v-icon class=\"text-darker-gray\">mdi-minus</v-icon> {{file.name}}\r\n </li>\r\n </ul>-->\r\n <ul v-if=\"errorFiles && errorFiles.length > 0\">\r\n <li v-for=\"file in errorFiles\"\r\n v-bind:key=\"file.id\"\r\n style=\"list-style-type:none;\">\r\n <v-icon class=\"text-red\">mdi-close</v-icon> {{file.name}}\r\n </li>\r\n </ul>\r\n <ul v-if=\"uploadedFiles && uploadedFiles.length > 0\">\r\n <li v-for=\"file in uploadedFiles\"\r\n v-bind:key=\"file.id\"\r\n style=\"list-style-type:none;\">\r\n <v-icon class=\"text-off-white\">mdi-check</v-icon> {{file.name}}\r\n </li>\r\n </ul>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h3 class=\"tfb-title-text-smaller text-darkest-blue text-uppercase\">\r\n Claims Adjuster\r\n </h3>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"!claimAdjuster\">\r\n <v-col cols=\"12\">\r\n Adjuster Information Unavailable<br />\r\n </v-col>\r\n </v-row>\r\n <v-row v-else>\r\n <v-col cols=\"12\">\r\n <div v-if=\"claimAdjuster.Name === null || claimAdjuster.Name === '' || claimAdjuster.Name === 'null'\">\r\n <span class=\"font-weight-bold\">Adjuster Information Unavailable</span><br />\r\n </div>\r\n <div v-else>\r\n <span class=\"font-weight-bold\">{{claimAdjuster.Name}}</span><br />\r\n </div>\r\n <address>\r\n <div v-if=\"claimAdjuster.Email && claimAdjuster.Email !== null\r\n && claimAdjuster.Email !== '' && claimAdjuster.Email !== 'null'\">\r\n <span>Email:</span>\r\n <a v-bind:href=\"claimAdjuster.Email | linkFormatEmail\"\r\n itemprop=\"email\">{{claimAdjuster.Email}}</a><br />\r\n </div>\r\n <div v-if=\"claimAdjuster.office && claimAdjuster.office !== null\r\n && claimAdjuster.office.Phone !== null && claimAdjuster.office.Phone !== ''\r\n && claimAdjuster.office.Phone !== 'null'\">\r\n <label>Phone:</label>\r\n <a v-bind:href=\"claimAdjuster.office.Phone | linkFormatPhone\"\r\n itemprop=\"telephone\">{{claimAdjuster.office.Phone | formatPhone}}</a><br />\r\n </div>\r\n </address>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n\r\n export default {\r\n name: 'ClaimReport',\r\n mixins: [tfbMetaMixin, tfbHelperMixin],\r\n computed: {\r\n metaDescription() {\r\n return 'Report a claim or view the progress of current claims on the Texas Farm Bureau Insurance resources page.';\r\n },\r\n metaPageTitle() {\r\n return 'Submission Confirmation';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/claims/confirm`;\r\n },\r\n claimConfirmation() {\r\n return this.$store.getters['claims/confirmationNumber'];\r\n },\r\n claimNumber() {\r\n return this.$store.getters['claims/claimNumber'];\r\n },\r\n claimAdjuster() {\r\n return this.$store.getters['claims/claimAdjuster'];\r\n },\r\n claim() {\r\n return this.$store.getters['claims/claim'];\r\n },\r\n selectedFiles() {\r\n return this.$store.getters['claims/selectedFiles'];\r\n },\r\n pendingFiles() {\r\n return this.$store.getters['claims/pendingFiles'];\r\n },\r\n uploadedFiles() {\r\n return this.$store.getters['claims/uploadedFiles'];\r\n },\r\n errorFiles() {\r\n return this.$store.getters['claims/errorFiles'];\r\n },\r\n },\r\n created() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n const claimIdNumber = (this.claimNumber !== undefined && this.claimNumber !== null && this.claimNumber !== '') ? this.claimNumber : this.claimConfirmation;\r\n if (this.selectedFiles && this.selectedFiles.length > 0 && claimIdNumber !== undefined && claimIdNumber !== null && claimIdNumber !== '') {\r\n for (let f = 0; f < this.selectedFiles.length; f += 1) {\r\n dispatch('claims/uploadFiles', { destination: this.claim.destination, claimId: claimIdNumber, file: this.selectedFiles[f] })\r\n .then(() => {\r\n // const processedFileLength = this.uploadedFiles.length + this.errorFiles.length;\r\n // if (processedFileLength === this.selectedFiles.length) {\r\n dispatch('app/setIsLoading', false);\r\n // }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n }\r\n } else {\r\n dispatch('app/setIsLoading', false);\r\n }\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfb-claim {\r\n padding-top: 50px;\r\n padding-bottom: 100px;\r\n }\r\n\r\n .tfb-claim-box {\r\n background-color: $white;\r\n padding: 20px;\r\n color: $tfb-darkest-blue;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClaimReportConfirm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClaimReportConfirm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ClaimReportConfirm.vue?vue&type=template&id=fbbb8a48\"\nimport script from \"./ClaimReportConfirm.vue?vue&type=script&lang=js\"\nexport * from \"./ClaimReportConfirm.vue?vue&type=script&lang=js\"\nimport style0 from \"./ClaimReportConfirm.vue?vue&type=style&index=0&id=fbbb8a48&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-container pb-10\",attrs:{\"fluid\":\"\"}},[_c('h2',{staticClass:\"tfb-title-text-medium text-darker-blue text-uppercase\"},[_vm._v(\"View All Claims\")]),_c('v-container',{staticClass:\"drop-shadow background-white pa-sm-6 pa-md-12\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('p',{staticClass:\"text-center\"},[_vm._v(\" Please note that if you have recently submitted a claim, it will not appear online until it is entered into the system by your Claims Representative. \")]),_c('p',{staticClass:\"text-center\"},[_vm._v(\" If you need to speak with someone immediately, please call \"),_c('a',{staticClass:\"font-weight-bold\",attrs:{\"href\":_vm.claimsReportingCenter.phoneLink,\"title\":_vm.claimsReportingCenter.phoneDisplay}},[_vm._v(_vm._s(_vm.claimsReportingCenter.phoneDisplay))]),_vm._v(\". \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('hr')])],1),_c('claim-list',{attrs:{\"claimListLoading\":_vm.claimListLoading,\"claimType\":\"open\",\"claimList\":_vm.openClaimList}}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('hr')])],1),_c('claim-list',{attrs:{\"claimListLoading\":_vm.claimListLoading,\"claimType\":\"closed\",\"claimList\":_vm.closedClaimList}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"tfb-title-text-small-bold text-blue text-uppercase\"},[_vm._v(_vm._s(_vm.claimType)+\" Claims\")]),(_vm.claimListLoading)?_c('v-container',_vm._l((3),function(i){return _c('v-row',{key:i},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"loading\":_vm.claimListLoading,\"type\":\"list-item-avatar-three-line\"}})],1)],1)}),1):_vm._e(),(!_vm.claimListLoading && _vm.claimList !== null && _vm.claimList.length > 0)?_c('div',[_c('v-expansion-panels',{attrs:{\"accordion\":\"\",\"flat\":\"\"}},_vm._l((_vm.claimList),function(claim){return _c('v-expansion-panel',{key:claim.ClaimNumber},[_c('v-expansion-panel-header',[_c('v-container',[_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(claim.PolicyType)+\" Policy:\")]),_vm._v(\" \"+_vm._s(claim.PolicyNumber)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Claim:\")]),_vm._v(\" \"+_vm._s(claim.ClaimNumber)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Date of Loss:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(claim.LossDate))+\" \")])],1)],1)],1),_c('v-expansion-panel-content',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Description of Loss\")]),_c('br')]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"7\"}},[_vm._v(\" \"+_vm._s(claim.LossDescription)),_c('br')])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{staticClass:\"tfb-table\",attrs:{\"dense\":\"\",\"headers\":_vm.coverageHeaders,\"items\":claim.Coverages,\"items-per-page\":10},scopedSlots:_vm._u([{key:\"no-data\",fn:function(){return [_vm._v(\" No Coverage Information Available \")]},proxy:true}],null,true)})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"text-darkest-blue text-uppercase font-weight-bold\"},[_vm._v(\" Claims Adjuster \")])])],1),(claim.AdjusterName && claim.AdjusterName !== null && claim.AdjusterName !== '')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('address',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(claim.AdjusterName))]),_c('br'),(claim.Address !== null && claim.Address !== '')?_c('div',[_c('span',{domProps:{\"innerHTML\":_vm._s(claim.Address)}})]):_vm._e(),(claim.PhoneNumber !== null && claim.PhoneNumber !== '')?_c('div',[_c('strong',[_vm._v(\"Phone:\")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":_vm._f(\"linkFormatPhone\")(claim.PhoneNumber)}},[_vm._v(_vm._s(_vm._f(\"formatPhone\")(claim.PhoneNumber)))]),_c('br')]):_vm._e(),(claim.EmailAddress !== null && claim.EmailAddress !== '')?_c('div',[_c('strong',[_vm._v(\"Email Address:\")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":`mailto:${claim.EmailAddress}`}},[_vm._v(_vm._s(claim.EmailAddress))]),_c('br')]):_vm._e()])])],1):_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Adjuster Information Unavailable\")]),_c('br')])],1)],1)],1)],1)}),1)],1):_vm._e(),(!_vm.claimListLoading && (!_vm.claimList || _vm.claimList.length <= 0))?_c('v-container',[_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\" You have no available \"+_vm._s(_vm.claimType)+\" claims to view. \")])],1)],1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h4 class=\"tfb-title-text-small-bold text-blue text-uppercase\">{{claimType}} Claims</h4>\r\n <v-container v-if=\"claimListLoading\">\r\n <v-row v-for=\"i in 3\"\r\n :key=\"i\">\r\n <v-col cols=\"12\">\r\n <v-skeleton-loader :loading=\"claimListLoading\"\r\n type=\"list-item-avatar-three-line\"\r\n class=\"mx-auto\">\r\n </v-skeleton-loader>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <div v-if=\"!claimListLoading && claimList !== null && claimList.length > 0\">\r\n <v-expansion-panels accordion\r\n flat>\r\n <v-expansion-panel v-for=\"claim in claimList\"\r\n :key=\"claim.ClaimNumber\">\r\n <v-expansion-panel-header>\r\n <v-container>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <span class=\"font-weight-bold\">{{claim.PolicyType}} Policy:</span> {{claim.PolicyNumber}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <span class=\"font-weight-bold\">Claim:</span> {{claim.ClaimNumber}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <span class=\"font-weight-bold\">Date of Loss:</span> {{formatDate(claim.LossDate)}}\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content>\r\n <v-container fluid>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"5\">\r\n <span class=\"font-weight-bold\">Description of Loss</span><br />\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"7\">\r\n {{claim.LossDescription}}<br />\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-data-table dense\r\n :headers=\"coverageHeaders\"\r\n :items=\"claim.Coverages\"\r\n :items-per-page=\"10\"\r\n class=\"tfb-table\">\r\n <template v-slot:no-data>\r\n No Coverage Information Available\r\n </template>\r\n </v-data-table>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <span class=\"text-darkest-blue text-uppercase font-weight-bold\">\r\n Claims Adjuster\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"claim.AdjusterName && claim.AdjusterName !== null && claim.AdjusterName !== ''\">\r\n <v-col cols=\"12\">\r\n <address>\r\n <span class=\"font-weight-bold\">{{claim.AdjusterName}}</span><br />\r\n <div v-if=\"claim.Address !== null && claim.Address !== ''\">\r\n <span v-html=\"claim.Address\"></span>\r\n </div>\r\n <div v-if=\"claim.PhoneNumber !== null && claim.PhoneNumber !== ''\">\r\n <strong>Phone:</strong> <a v-bind:href=\"claim.PhoneNumber | linkFormatPhone\">{{claim.PhoneNumber | formatPhone}}</a><br />\r\n </div>\r\n <div v-if=\"claim.EmailAddress !== null && claim.EmailAddress !== ''\">\r\n <strong>Email Address:</strong> <a v-bind:href=\"`mailto:${claim.EmailAddress}`\">{{claim.EmailAddress}}</a><br />\r\n </div>\r\n </address>\r\n </v-col>\r\n </v-row>\r\n <v-row v-else>\r\n <v-col cols=\"12\">\r\n <span class=\"font-weight-bold\">Adjuster Information Unavailable</span><br />\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n </v-expansion-panels>\r\n </div>\r\n <v-container v-if=\"!claimListLoading && (!claimList || claimList.length <= 0)\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n You have no available {{claimType}} claims to view.\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n\r\n export default {\r\n name: 'ViewClaims',\r\n props: {\r\n claimListLoading: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n claimType: {\r\n type: String,\r\n required: true,\r\n },\r\n claimList: {\r\n type: Array,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbHelperMixin, tfbDataMixin],\r\n data() {\r\n return {\r\n coverageHeaders: [\r\n { text: 'Coverage', align: 'start', value: 'CoverageDescription' },\r\n { text: 'Amount Paid', value: 'CoverageAmount' },\r\n ],\r\n };\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewClaimList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewClaimList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ViewClaimList.vue?vue&type=template&id=7aa61124\"\nimport script from \"./ViewClaimList.vue?vue&type=script&lang=js\"\nexport * from \"./ViewClaimList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <v-container fluid\r\n class=\"tfb-container pb-10\">\r\n <h2 class=\"tfb-title-text-medium text-darker-blue text-uppercase\">View All Claims</h2>\r\n <v-container class=\"drop-shadow background-white pa-sm-6 pa-md-12\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <p class=\"text-center\">\r\n Please note that if you have recently submitted a claim, it will not appear online until it is entered into the system by your Claims Representative.\r\n </p>\r\n <p class=\"text-center\">\r\n If you need to speak with someone immediately, please call\r\n <a v-bind:href=\"claimsReportingCenter.phoneLink\"\r\n v-bind:title=\"claimsReportingCenter.phoneDisplay\"\r\n class=\"font-weight-bold\">{{ claimsReportingCenter.phoneDisplay }}</a>.\r\n </p>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <hr />\r\n </v-col>\r\n </v-row>\r\n <claim-list :claimListLoading=\"claimListLoading\"\r\n claimType=\"open\"\r\n :claimList=\"openClaimList\"></claim-list>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <hr />\r\n </v-col>\r\n </v-row>\r\n <claim-list :claimListLoading=\"claimListLoading\"\r\n claimType=\"closed\"\r\n :claimList=\"closedClaimList\"></claim-list>\r\n </v-container>\r\n </v-container>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import tfbMetaInfo from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import ClaimList from './components/ViewClaimList.vue';\r\n\r\n export default {\r\n name: 'ViewClaims',\r\n mixins: [tfbMetaInfo, tfbHelperMixin, tfbDataMixin],\r\n components: {\r\n ClaimList,\r\n },\r\n data() {\r\n return {\r\n claimListLoading: true,\r\n openClaimList: [],\r\n closedClaimList: [],\r\n claimDetailLoading: false,\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'View Claims | PolicyHolder';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/claims`;\r\n },\r\n memberNumber() {\r\n try {\r\n return this.$store.getters['member/memberNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n },\r\n methods: {\r\n async getClaimList() {\r\n dispatch('claims/getClaimsByMember', { sMemberNumber: this.memberNumber, sTfbId: this.trackingId })\r\n .then((claimListResponse) => {\r\n if (claimListResponse) {\r\n this.openClaimList = this.$store.getters['claims/openClaims'];\r\n this.closedClaimList = this.$store.getters['claims/closedClaims'];\r\n this.claimListLoading = false;\r\n } else {\r\n dispatch('app/setErrorMessage', '');\r\n this.claimListLoading = false;\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('Request failed with status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n }\r\n dispatch('app/setErrorMessage', error.toString());\r\n this.claimListLoading = false;\r\n });\r\n },\r\n },\r\n mounted() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n const includedToken = this.$route.query.access_token;\r\n dispatch('member/validateLogin', { sToken: includedToken, sTfbId: this.trackingId })\r\n .then((loginValid) => {\r\n if (loginValid) {\r\n if (this.doStatusCheck()) {\r\n this.getClaimList();\r\n }\r\n dispatch('app/setIsLoading', false);\r\n } else {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewClaim.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewClaim.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ViewClaim.vue?vue&type=template&id=360a0e18\"\nimport script from \"./ViewClaim.vue?vue&type=script&lang=js\"\nexport * from \"./ViewClaim.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-container pb-10\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"my-1\"},[_c('v-col',[_c('h1',{staticClass:\"tfb-title-text-medium text-darker-blue text-center\"},[_vm._v(\"Payment Options\")])])],1),(_vm.paymentWordingDisplay === 'Y')?_c('v-row',[_c('v-col',[_c('strong',[_vm._v(\" Making a payment via your checking or savings account? You can now save your account data in our new Wallet feature!\"),_c('br'),_c('br'),_vm._v(\" When adding your checking or savings account information, click the check box at the bottom, “Add to Wallet”, click “SAVE” and your account information will be saved for future use! Note: This feature is not available when paying via the Guest Payment Site. \")])])],1):_vm._e(),_c('v-row',[_c('v-col',[_c('v-card',{staticClass:\"drop-shadow fill-height mx-lg-10 mx-md-6 pa-6 pa-lg-10\"},[_c('v-card-title',[_c('h2',{staticClass:\"tfb-title-text-small font-weight-bold text-darker-blue\"},[_vm._v(\"Pay Online via My TFBI Account\")])]),_c('v-card-text',[_vm._v(\" Log in to your account and make a one-time payment on your policy via your checking or savings account with no added processing fees! You can also set-up automatic payments for no added service fees! \")]),_c('v-card-actions',{staticClass:\"tfb-card-footer text-center\"},[_c('v-btn',{staticClass:\"tfb-button-min background-red\",attrs:{\"to\":{ name: 'policyholderLogin' },\"disabled\":_vm.formDisabled,\"hreflang\":\"en-us\"}},[_vm._v(\"Log In\")])],1)],1)],1),_c('v-col',[_c('v-card',{staticClass:\"drop-shadow fill-height mx-lg-10 mx-md-6 pa-6 pa-lg-10\"},[_c('v-card-title',[_c('h2',{staticClass:\"tfb-title-text-small font-weight-bold text-darker-blue\"},[_vm._v(\"Pay Online via Guest Payment Site\")])]),_c('v-card-text',[_vm._v(\" Use this option to make a one-time credit, debit, or checking/savings account payment on your policy without logging in. Processing fees ($3.95) and other restrictions will apply. \")]),_c('v-card-actions',{staticClass:\"tfb-card-footer text-center\"},[(!_vm.guidewirePaymentsEnabled)?_c('v-btn',{staticClass:\"tfb-button-min background-red\",attrs:{\"href\":_vm.nonRegisteredFiservPaymentUrl,\"disabled\":_vm.formDisabled,\"hreflang\":\"en-us\",\"target\":\"_blank\"}},[_vm._v(\"Guest Payment Site\")]):_c('v-btn',{staticClass:\"tfb-button-min background-red\",attrs:{\"disabled\":_vm.formDisabled,\"hreflang\":\"en-us\",\"target\":\"_blank\"},on:{\"click\":function($event){$event.stopPropagation();_vm.nonLoggedInPaymentDialog = true}}},[_vm._v(\"Guest Payment Site\")])],1)],1)],1)],1),_c('v-row',[_c('v-col',[_c('h2',{staticClass:\"tfb-title-text-small tfb-title-text-bold text-darker-blue\"},[_vm._v(\" Other Ways to Pay \")])])],1),_c('v-row',[_c('v-col',[_c('h3',{staticClass:\"tfb-title-text-small text-darker-blue\"},[_vm._v(\"By Mail:\")]),_c('p',[_vm._v(\" Check or money-order policy payments should be mailed to our Dallas payment center with your billing statement remittance stub: \")]),_c('blockquote',[_c('address',{attrs:{\"id\":\"paymentCenterAddress\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.billingAddress.name))]),_c('br'),_vm._v(\" \"+_vm._s(_vm.billingAddress.addressLineOne)),_c('br'),_vm._v(\" \"+_vm._s(_vm.billingAddress.addressLineTwo)),_c('br')])])])],1),_c('v-row',[_c('v-col',[_c('h3',{staticClass:\"tfb-title-text-small text-darker-blue\"},[_vm._v(\"By Phone:\")]),_c('p',[_vm._v(\" Call \"),_c('a',{attrs:{\"title\":_vm.ivrPhone.display,\"id\":\"ivrPhone\",\"href\":_vm.ivrPhone.link}},[_vm._v(\" \"+_vm._s(_vm.ivrPhone.display)+\" \")]),_vm._v(\" to make your policy payment 24 hours a day/7 days a week. Processing fees ($3.95) will apply. \")])])],1),_c('v-row',[_c('v-col',[_c('h3',{staticClass:\"tfb-title-text-small text-darker-blue\"},[_vm._v(\" By Automatic Payment: \")]),_c('p',[_vm._v(\" Save time, postage, and service fees! Schedule automatic recurring payments from your checking or savings account. Log in and click on the “Schedule Recurring Payments” link on your Account Summary page next to your policy. NO service or processing fees; not available on all policy lines. \")])])],1),_c('v-row',[_c('v-col',[_c('h3',{staticClass:\"tfb-title-text-small text-darker-blue\"},[_vm._v(\"In Person:\")]),_c('p',[_vm._v(\" Stop by your local \"),_c('router-link',{attrs:{\"to\":{ name: 'countyLookup'},\"hreflang\":\"en-us\"}},[_vm._v(\" Texas Farm Bureau County Office \")]),_vm._v(\" to make a check or money order payment with no processing fees. You may also make an online credit, debit, or checking/savings account payment. Processing fees ($3.95) will apply. \")],1)])],1),_c('v-row',[_c('v-col',[_c('v-card',{staticClass:\"fill-height\"},[_c('v-card-text',[_c('faqs',{attrs:{\"faq-keyword\":\"payments\"}})],1)],1)],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"450\"},model:{value:(_vm.nonLoggedInPaymentDialog),callback:function ($$v) {_vm.nonLoggedInPaymentDialog=$$v},expression:\"nonLoggedInPaymentDialog\"}},[_c('v-card',[_c('v-card-title',[_c('h3',{staticClass:\"tfb-title-text-small\"},[_vm._v(\"Please enter your policy number:\")])]),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [_c('v-form',{ref:\"paymentForm\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onPaymentSearch)}}},[_c('v-card-text',[_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errorMessage && _vm.errorMessage !== null),expression:\"errorMessage && errorMessage !== null\"}],staticClass:\"tfb-notification\",attrs:{\"role\":\"alert\"}},[_c('v-col',{staticClass:\"tfb-notification-notice\",attrs:{\"cols\":\"12\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.errorMessage)}})])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:6|max:11\",\"label\":\"Policy Number\",\"autocapitalize\":\"characters\",\"minlength\":\"6\",\"maxlength\":\"11\"},model:{value:(_vm.policyNumber),callback:function ($$v) {_vm.policyNumber=$$v},expression:\"policyNumber\"}})],1)],1),(_vm.paymentInformation !== null)?_c('v-row',[(_vm.paymentInformation.GuidewirePaymentInformation !== undefined && _vm.paymentInformation.GuidewirePaymentInformation !== null)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Current Balance Due:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.paymentInformation.GuidewirePaymentInformation.CurrentBalanceDue, 2))),_c('br'),_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Remaining Balance Due:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.paymentInformation.GuidewirePaymentInformation.RemainingBalanceDue, 2))),_c('br'),(_vm.paymentInformation.GuidewirePaymentInformation.PastDueBalance && _vm.paymentInformation.GuidewirePaymentInformation.PastDueBalance === '0')?_c('span',[_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Due Date:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.paymentInformation.GuidewirePaymentInformation.CurrentDueDate))),_c('br')]):_c('span',[_c('label',{staticClass:\"text-red font-weight-medium\"},[_vm._v(\"Past Due Date:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.paymentInformation.GuidewirePaymentInformation.CurrentDueDate))),_c('br')]),(_vm.isGuidewireLinkDisabled)?_c('span',{staticClass:\"make-payment-link\"},[_vm._v(\" Make a Payment Link Currently Unavailable \")]):_c('span',[_c('a',{staticClass:\"make-payment-link\",attrs:{\"href\":_vm.nonRegisteredGuidewirePaymentUrl,\"target\":\"_blank\",\"title\":\"Make a Payment\"},on:{\"click\":function($event){return _vm.policyPayment(_vm.nonRegisteredGuidewirePaymentUrl)}}},[_vm._v(\"Make a Payment\")])])]):_vm._e(),(_vm.paymentInformation.LegacyPaymentInformation !== undefined && _vm.paymentInformation.LegacyPaymentInformation !== null)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Current Balance Due:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.paymentInformation.LegacyPaymentInformation.CurrentBalanceDue, 2))),_c('br'),_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Remaining Balance Due:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.paymentInformation.LegacyPaymentInformation.RemainingBalanceDue, 2))),_c('br'),(_vm.paymentInformation.LegacyPaymentInformation.PastDueBalance\n && (_vm.paymentInformation.LegacyPaymentInformation.PastDueBalance === '0' || _vm.paymentInformation.LegacyPaymentInformation.PastDueBalance === '0.00'))?_c('span',[_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Due Date:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.paymentInformation.LegacyPaymentInformation.CurrentDueDate))),_c('br')]):_c('span',[_c('label',{staticClass:\"text-red font-weight-medium\"},[_vm._v(\"Past Due Date:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.paymentInformation.LegacyPaymentInformation.CurrentDueDate))),_c('br')]),(_vm.isLegacyLinkDisabled)?_c('span',{staticClass:\"make-payment-link\"},[_vm._v(\" Make a Payment Link Currently Unavailable \")]):_c('span',[_c('a',{staticClass:\"make-payment-link\",attrs:{\"href\":_vm.nonRegisteredFiservPaymentUrl,\"target\":\"_blank\",\"title\":\"Make a Payment\"},on:{\"click\":function($event){return _vm.policyPayment(_vm.nonRegisteredFiservPaymentUrl)}}},[_vm._v(\"Make a Payment\")])])]):_vm._e()],1):_vm._e()],1),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"disabled\":_vm.formDisabled,\"type\":\"submit\"},on:{\"click\":_vm.onPaymentSearch}},[_vm._v(\"Submit\")])],1)],1)]}}])}),_c('v-overlay',{attrs:{\"absolute\":\"\",\"value\":_vm.saveOverlay}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-container pb-10\">\r\n <v-row class=\"my-1\">\r\n <v-col>\r\n <h1 class=\"tfb-title-text-medium text-darker-blue text-center\">Payment Options</h1>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"paymentWordingDisplay === 'Y'\">\r\n <v-col>\r\n <strong>\r\n Making a payment via your checking or savings account? You can now save your account data in our new Wallet feature!<br /><br />\r\n When adding your checking or savings account information, click the check box at the bottom, “Add to Wallet”,\r\n click “SAVE” and your account information will be saved for future use! Note: This feature is not available\r\n when paying via the Guest Payment Site.\r\n </strong>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col>\r\n <v-card class=\"drop-shadow fill-height mx-lg-10 mx-md-6 pa-6 pa-lg-10\">\r\n <v-card-title><h2 class=\"tfb-title-text-small font-weight-bold text-darker-blue\">Pay Online via My TFBI Account</h2></v-card-title>\r\n <v-card-text>\r\n Log in to your account and make a one-time payment on your policy via\r\n your checking or savings account with no added processing fees! You\r\n can also set-up automatic payments for no added\r\n service fees!\r\n </v-card-text>\r\n <v-card-actions class=\"tfb-card-footer text-center\">\r\n <v-btn :to=\"{ name: 'policyholderLogin' }\"\r\n :disabled=\"formDisabled\"\r\n hreflang=\"en-us\"\r\n class=\"tfb-button-min background-red\">Log In</v-btn>\r\n </v-card-actions>\r\n </v-card>\r\n </v-col>\r\n <v-col>\r\n <v-card class=\"drop-shadow fill-height mx-lg-10 mx-md-6 pa-6 pa-lg-10\">\r\n <v-card-title><h2 class=\"tfb-title-text-small font-weight-bold text-darker-blue\">Pay Online via Guest Payment Site</h2></v-card-title>\r\n <v-card-text>\r\n Use this option to make a one-time credit, debit, or checking/savings account\r\n payment on your policy without logging in. Processing fees ($3.95) and other\r\n restrictions will apply.\r\n </v-card-text>\r\n <v-card-actions class=\"tfb-card-footer text-center\">\r\n <v-btn v-if=\"!guidewirePaymentsEnabled\"\r\n :href=\"nonRegisteredFiservPaymentUrl\"\r\n :disabled=\"formDisabled\"\r\n hreflang=\"en-us\"\r\n target=\"_blank\"\r\n class=\"tfb-button-min background-red\">Guest Payment Site</v-btn>\r\n <v-btn v-else\r\n @click.stop=\"nonLoggedInPaymentDialog = true\"\r\n :disabled=\"formDisabled\"\r\n hreflang=\"en-us\"\r\n target=\"_blank\"\r\n class=\"tfb-button-min background-red\">Guest Payment Site</v-btn>\r\n </v-card-actions>\r\n </v-card>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col>\r\n <h2 class=\"tfb-title-text-small tfb-title-text-bold text-darker-blue\">\r\n Other Ways to Pay\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col>\r\n <h3 class=\"tfb-title-text-small text-darker-blue\">By Mail:</h3>\r\n <p>\r\n Check or money-order policy payments should be mailed to our Dallas\r\n payment center with your billing statement remittance stub:\r\n </p>\r\n <blockquote>\r\n <address id=\"paymentCenterAddress\">\r\n <span class=\"font-weight-bold\">{{billingAddress.name}}</span><br />\r\n {{billingAddress.addressLineOne}}<br />\r\n {{billingAddress.addressLineTwo}}<br />\r\n </address>\r\n </blockquote>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col>\r\n <h3 class=\"tfb-title-text-small text-darker-blue\">By Phone:</h3>\r\n <p>\r\n Call\r\n <a v-bind:title=\"ivrPhone.display\"\r\n id=\"ivrPhone\"\r\n v-bind:href=\"ivrPhone.link\">\r\n {{ivrPhone.display}}\r\n </a> to make your policy payment 24 hours a day/7 days a week.\r\n Processing fees ($3.95) will apply.\r\n </p>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col>\r\n <h3 class=\"tfb-title-text-small text-darker-blue\">\r\n By Automatic Payment:\r\n </h3>\r\n <p>\r\n Save time, postage, and service fees! Schedule automatic recurring payments from\r\n your checking or savings account. Log in and click on the\r\n “Schedule Recurring Payments” link on your Account Summary page next to your\r\n policy. NO service or processing fees; not available on all policy lines.\r\n </p>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col>\r\n <h3 class=\"tfb-title-text-small text-darker-blue\">In Person:</h3>\r\n <p>\r\n Stop by your local\r\n <router-link :to=\"{ name: 'countyLookup'}\"\r\n hreflang=\"en-us\">\r\n Texas Farm Bureau County Office\r\n </router-link>\r\n to make a check or money order payment with no processing fees.\r\n You may also make an online credit, debit, or checking/savings account payment.\r\n Processing fees ($3.95) will apply.\r\n </p>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col>\r\n <v-card class=\"fill-height\">\r\n <v-card-text>\r\n <faqs faq-keyword=\"payments\"></faqs>\r\n </v-card-text>\r\n </v-card>\r\n </v-col>\r\n </v-row>\r\n <v-dialog v-model=\"nonLoggedInPaymentDialog\"\r\n max-width=\"450\">\r\n <v-card>\r\n <v-card-title>\r\n <h3 class=\"tfb-title-text-small\">Please enter your policy number:</h3>\r\n </v-card-title>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form ref=\"paymentForm\"\r\n @submit.stop.prevent=\"handleSubmit(onPaymentSearch)\">\r\n <v-card-text>\r\n <v-row class=\"tfb-notification\"\r\n role=\"alert\"\r\n v-show=\"errorMessage && errorMessage !== null\">\r\n <v-col cols=\"12\"\r\n class=\"tfb-notification-notice\">\r\n <span v-html=\"errorMessage\"></span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:6|max:11\"\r\n label=\"Policy Number\"\r\n autocapitalize=\"characters\"\r\n minlength=\"6\"\r\n maxlength=\"11\"\r\n v-model=\"policyNumber\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"paymentInformation !== null\">\r\n <v-col cols=\"6\"\r\n v-if=\"paymentInformation.GuidewirePaymentInformation !== undefined && paymentInformation.GuidewirePaymentInformation !== null\">\r\n <label class=\"font-weight-medium\">Current Balance Due:</label> {{formatMoney(paymentInformation.GuidewirePaymentInformation.CurrentBalanceDue, 2)}}<br />\r\n <label class=\"font-weight-medium\">Remaining Balance Due:</label> {{formatMoney(paymentInformation.GuidewirePaymentInformation.RemainingBalanceDue, 2)}}<br />\r\n <span v-if=\"paymentInformation.GuidewirePaymentInformation.PastDueBalance && paymentInformation.GuidewirePaymentInformation.PastDueBalance === '0'\">\r\n <label class=\"font-weight-medium\">Due Date:</label> {{formatDate(paymentInformation.GuidewirePaymentInformation.CurrentDueDate)}}<br />\r\n </span>\r\n <span v-else>\r\n <label class=\"text-red font-weight-medium\">Past Due Date:</label> {{formatDate(paymentInformation.GuidewirePaymentInformation.CurrentDueDate)}}<br />\r\n </span>\r\n <span v-if=\"isGuidewireLinkDisabled\"\r\n class=\"make-payment-link\">\r\n Make a Payment Link Currently Unavailable\r\n </span>\r\n <span v-else>\r\n <a :href=\"nonRegisteredGuidewirePaymentUrl\"\r\n class=\"make-payment-link\"\r\n target=\"_blank\"\r\n title=\"Make a Payment\"\r\n v-on:click=\"policyPayment(nonRegisteredGuidewirePaymentUrl)\">Make a Payment</a>\r\n </span>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n v-if=\"paymentInformation.LegacyPaymentInformation !== undefined && paymentInformation.LegacyPaymentInformation !== null\">\r\n <label class=\"font-weight-medium\">Current Balance Due:</label> {{formatMoney(paymentInformation.LegacyPaymentInformation.CurrentBalanceDue, 2)}}<br />\r\n <label class=\"font-weight-medium\">Remaining Balance Due:</label> {{formatMoney(paymentInformation.LegacyPaymentInformation.RemainingBalanceDue, 2)}}<br />\r\n <span v-if=\"paymentInformation.LegacyPaymentInformation.PastDueBalance\r\n && (paymentInformation.LegacyPaymentInformation.PastDueBalance === '0' || paymentInformation.LegacyPaymentInformation.PastDueBalance === '0.00')\">\r\n <label class=\"font-weight-medium\">Due Date:</label> {{formatDate(paymentInformation.LegacyPaymentInformation.CurrentDueDate)}}<br />\r\n </span>\r\n <span v-else>\r\n <label class=\"text-red font-weight-medium\">Past Due Date:</label> {{formatDate(paymentInformation.LegacyPaymentInformation.CurrentDueDate)}}<br />\r\n </span>\r\n <span v-if=\"isLegacyLinkDisabled\"\r\n class=\"make-payment-link\">\r\n Make a Payment Link Currently Unavailable\r\n </span>\r\n <span v-else>\r\n <a :href=\"nonRegisteredFiservPaymentUrl\"\r\n class=\"make-payment-link\"\r\n target=\"_blank\"\r\n title=\"Make a Payment\"\r\n v-on:click=\"policyPayment(nonRegisteredFiservPaymentUrl)\">Make a Payment</a>\r\n </span>\r\n </v-col>\r\n </v-row>\r\n </v-card-text>\r\n <v-divider></v-divider>\r\n <v-card-actions>\r\n <v-spacer></v-spacer>\r\n <v-btn class=\"tfb-button background-red\"\r\n @click=\"onPaymentSearch\"\r\n :disabled=\"formDisabled\"\r\n type=\"submit\">Submit</v-btn>\r\n </v-card-actions>\r\n </v-form>\r\n </ValidationObserver>\r\n <v-overlay absolute\r\n :value=\"saveOverlay\">\r\n <v-progress-circular indeterminate\r\n size=\"64\"></v-progress-circular>\r\n </v-overlay>\r\n </v-card>\r\n </v-dialog>\r\n </v-container>\r\n</template>\r\n<script>\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import { genericErrorMessage } from '@/mixins/errorMessages';\r\n import { ValidationObserver } from 'vee-validate';\r\n import Faqs from '@/views/content/components/FAQs.vue';\r\n\r\n export default {\r\n name: 'PaymentOptions',\r\n mixins: [tfbDataMixin, tfbMetaMixin, tfbHelperMixin],\r\n components: {\r\n Faqs,\r\n ValidationObserver,\r\n },\r\n data() {\r\n return {\r\n formDisabled: false,\r\n nonLoggedInPaymentDialog: false,\r\n errorMessage: null,\r\n saveOverlay: false,\r\n policyNumber: '',\r\n paymentInformation: null,\r\n nonRegisteredGuidewirePaymentUrl: '',\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Payment Options';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/payments/options`;\r\n },\r\n isLegacyLinkDisabled() {\r\n return !this.nonRegisteredFiservPaymentUrl\r\n || this.nonRegisteredFiservPaymentUrl === null\r\n || this.nonRegisteredFiservPaymentUrl === undefined\r\n || this.nonRegisteredFiservPaymentUrl === '';\r\n },\r\n isGuidewireLinkDisabled() {\r\n return !this.nonRegisteredGuidewirePaymentUrl\r\n || this.nonRegisteredGuidewirePaymentUrl === null\r\n || this.nonRegisteredGuidewirePaymentUrl === undefined\r\n || this.nonRegisteredGuidewirePaymentUrl === '';\r\n },\r\n nonRegisteredFiservPaymentUrl() {\r\n try {\r\n return this.$store.getters['app/nonRegisteredFiservPaymentUrl'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n paymentWordingDisplay() {\r\n try {\r\n return this.$store.getters['app/paymentWordingDisplay'];\r\n } catch (error) {\r\n return 'N';\r\n }\r\n },\r\n guidewirePaymentsEnabled() {\r\n try {\r\n const paymentDisplay = this.$store.getters['app/guidewirePaymentsEnabled'];\r\n return (paymentDisplay && paymentDisplay !== null && paymentDisplay === 'Y');\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'Payments', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus !== '') {\r\n this.formDisabled = true;\r\n this.$store.dispatch('app/setErrorMessage', returnedStatus);\r\n }\r\n this.$store.dispatch('app/setIsLoading', false);\r\n })\r\n .catch(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n methods: {\r\n onLoginSubmit() {\r\n this.$router.push({ name: 'policyholderLogin' });\r\n },\r\n policyPayment(link) {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `Going to: ${link}`,\r\n fileName: 'PaymentOptions.vue',\r\n methodName: 'policyPayment-Start',\r\n trackerId: this.paymentTracking,\r\n });\r\n },\r\n onPaymentSearch() {\r\n this.saveOverlay = true;\r\n this.formDisabled = true;\r\n this.errorMessage = null;\r\n this.paymentInformation = null;\r\n\r\n this.$store.dispatch('payments/systemCheck', {\r\n sPolicyNumber: this.policyNumber,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((systemCheckResponse) => {\r\n if (systemCheckResponse.AccountFound) {\r\n this.paymentInformation = systemCheckResponse;\r\n if (systemCheckResponse.GuidewirePaymentInformation !== null && systemCheckResponse.LegacyPaymentInformation !== null) {\r\n // More than one payment option needs to be displayed\r\n // Get the token value\r\n this.$store.dispatch('member/createCloudPaymentUrl', {\r\n sAccountNumber: systemCheckResponse.GuidewirePaymentInformation.InvoiceCloudAccountNumber,\r\n sInvoiceNumber: '',\r\n sTfbId: this.trackingId,\r\n })\r\n .then((cloudPaymentReturn) => {\r\n if (cloudPaymentReturn && cloudPaymentReturn !== null && cloudPaymentReturn !== undefined && cloudPaymentReturn !== '') {\r\n this.nonRegisteredGuidewirePaymentUrl = cloudPaymentReturn;\r\n } else {\r\n this.errorMessage = 'Error connecting to our payment processor. Please try again later.';\r\n }\r\n })\r\n .catch((error) => {\r\n this.errorMessage = error.toString();\r\n });\r\n } else {\r\n // Only one payment option returned; redirect them to the appropriate payment site\r\n if (systemCheckResponse.GuidewirePaymentInformation !== null) {\r\n // Get the token value\r\n this.$store.dispatch('member/createCloudPaymentUrl', {\r\n sAccountNumber: systemCheckResponse.GuidewirePaymentInformation.InvoiceCloudAccountNumber,\r\n sInvoiceNumber: '',\r\n sTfbId: this.trackingId,\r\n })\r\n .then((cloudPaymentReturn) => {\r\n if (cloudPaymentReturn && cloudPaymentReturn !== null && cloudPaymentReturn !== undefined && cloudPaymentReturn !== '') {\r\n this.nonRegisteredGuidewirePaymentUrl = cloudPaymentReturn;\r\n this.policyPayment(this.nonRegisteredGuidewirePaymentUrl);\r\n window.open(this.nonRegisteredGuidewirePaymentUrl);\r\n } else {\r\n this.errorMessage = 'Error connecting to our payment processor. Please try again later.';\r\n }\r\n })\r\n .catch((error) => {\r\n this.errorMessage = error.toString();\r\n });\r\n }\r\n if (systemCheckResponse.LegacyPaymentInformation !== null) {\r\n this.policyPayment(this.nonRegisteredFiservPaymentUrl);\r\n window.open(this.nonRegisteredFiservPaymentUrl);\r\n }\r\n }\r\n } else {\r\n this.policyPayment(this.nonRegisteredFiservPaymentUrl);\r\n window.open(this.nonRegisteredFiservPaymentUrl);\r\n }\r\n this.saveOverlay = false;\r\n this.formDisabled = false;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n if (error.toString().indexOf('status code 500') >= 0) {\r\n // General server error\r\n this.errorMessage = genericErrorMessage;\r\n } else {\r\n this.errorMessage = error.toString();\r\n }\r\n this.saveOverlay = false;\r\n this.formDisabled = false;\r\n });\r\n },\r\n getPaymentUrl() {\r\n this.$store.dispatch('app/getConfiguration', { sSection: 'ExternalUrl', sTitle: 'NonRegisteredPaymentsEncrypted' })\r\n .then((urlResponse) => {\r\n if (urlResponse && urlResponse !== '') {\r\n this.nonRegisteredFiservPaymentUrl = urlResponse;\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', 'Unable to fetch guest payment site url');\r\n }\r\n this.$store.dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'PaymentOptions.vue',\r\n methodName: 'getPaymentUrl-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n this.$store.dispatch('app/setErrorMessage', 'Unable to fetch guest payment site url');\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n },\r\n };\r\n</script>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentOptions.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentOptions.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PaymentOptions.vue?vue&type=template&id=bcf5e55e\"\nimport script from \"./PaymentOptions.vue?vue&type=script&lang=js\"\nexport * from \"./PaymentOptions.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"make-payment\"}},[_c('v-container',[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('v-img',{attrs:{\"max-height\":\"85\",\"alt\":\"Texas Farm Bureau Insurance\",\"itemprop\":\"logo\",\"src\":_vm.imageRootPath +'tfb-logo.jpg',\"contain\":\"\"}})],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('strong',[_vm._v(\"Status:\")]),_vm._v(\" \"+_vm._s(_vm.pageStatus)+\" \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"make-payment\">\r\n <v-container>\r\n <v-row no-gutters>\r\n <v-col>\r\n <v-img max-height=\"85\"\r\n alt=\"Texas Farm Bureau Insurance\"\r\n itemprop=\"logo\"\r\n v-bind:src=\"imageRootPath +'tfb-logo.jpg'\"\r\n contain></v-img>\r\n </v-col>\r\n </v-row>\r\n <v-row no-gutters>\r\n <v-col>\r\n <strong>Status:</strong> {{pageStatus}}\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n // eslint-disable-next-line no-unused-vars\r\n import { format, parseISO } from 'date-fns';\r\n import { insuredAccessOnlyErrorMessage } from '@/mixins/errorMessages';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'LoggedInPayment',\r\n props: {\r\n policyNumber: {\r\n type: String,\r\n required: true,\r\n },\r\n policyType: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n data() {\r\n return {\r\n pageStatus: 'Redirecting to payment site (no processing fees will be charged)...',\r\n };\r\n },\r\n methods: {\r\n getPaymentUrl() {\r\n return new Promise((resolve, reject) => {\r\n dispatch('app/getConfiguration', { sSection: 'ExternalUrl', sTitle: 'RegisteredPaymentsEncrypted' })\r\n .then((urlResponse) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: JSON.stringify(urlResponse),\r\n fileName: 'LoggedInPayment.vue',\r\n methodName: 'getPaymentUrl-UrlResponse',\r\n trackerId: this.trackingId,\r\n });\r\n if (urlResponse && urlResponse !== '') {\r\n resolve(urlResponse);\r\n } else {\r\n reject(new Error('Payment processor site url not found'));\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'LoggedInPayment.vue',\r\n methodName: 'getPaymentUrl-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n reject(new Error('Unable to fetch payment processor site url'));\r\n });\r\n });\r\n },\r\n },\r\n mounted() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `${this.policyNumber.toUpperCase()}-${this.policyType.toUpperCase()}`,\r\n fileName: 'LoggedInPayment.vue',\r\n methodName: 'mounted-Start',\r\n trackerId: this.trackingId,\r\n });\r\n this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'Payments', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus === '') {\r\n if (!this.isMemberRole) {\r\n this.pageStatus = insuredAccessOnlyErrorMessage;\r\n dispatch('app/setIsLoading', false);\r\n } else {\r\n this.getPaymentUrl()\r\n .then((urlResponse) => {\r\n let paymentParams;\r\n const form = document.createElement('form');\r\n form.method = 'post';\r\n form.action = urlResponse;\r\n dispatch('payments/getEncryptPaymentSummary', { sPolicyNumber: this.policyNumber.toUpperCase(), sPolicyType: this.policyType.toUpperCase(), sTfbId: this.trackingId })\r\n .then((paymentResponse) => {\r\n if (paymentResponse && paymentResponse !== '') {\r\n try {\r\n paymentParams = [\r\n { name: 'PolicyNumber', value: paymentResponse.RequestSummary.PolicyNumber },\r\n { name: 'LineOfBusiness', value: paymentResponse.LineOfBusiness },\r\n { name: 'MemberNumber', value: paymentResponse.MemberNumber },\r\n { name: 'MinimumAmount', value: paymentResponse.MinimumAmount },\r\n { name: 'MaximumAmount', value: paymentResponse.MaximumAmount },\r\n { name: 'PastDueAmount', value: paymentResponse.PastDueAmount },\r\n { name: 'ReturnItemAmount', value: paymentResponse.ReturnItemAmount },\r\n { name: 'PolicyName', value: paymentResponse.PolicyName },\r\n { name: 'PaymentRestriction', value: paymentResponse.PaymentRestriction },\r\n { name: 'DueDate', value: paymentResponse.DueDate },\r\n { name: 'ResponseTimestamp', value: paymentResponse.ResponseTimestamp },\r\n ];\r\n\r\n for (let key = 0; key < paymentParams.length; key += 1) {\r\n // console.log(encryptParams[key]);\r\n const hiddenField = document.createElement('input');\r\n hiddenField.type = 'hidden';\r\n hiddenField.name = paymentParams[key].name;\r\n hiddenField.value = paymentParams[key].value;\r\n\r\n form.appendChild(hiddenField);\r\n }\r\n\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: JSON.stringify(paymentParams),\r\n fileName: 'LoggedInPayment.vue',\r\n methodName: 'encryptRedirect-Start',\r\n trackerId: this.trackingId,\r\n });\r\n\r\n document.body.appendChild(form);\r\n form.submit();\r\n } catch (error) {\r\n this.pageStatus = 'Error redirecting to payment processor site. Please try again.';\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'LoggedInPayment.vue',\r\n methodName: 'encryptRedirect-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n } else {\r\n this.pageStatus = 'Unable to locate policy payment information. Please try again.';\r\n dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'LoggedInPayment.vue',\r\n methodName: 'getPaymentSummary-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n if (error.toString().indexOf('Request failed with status code 401') >= 0) {\r\n this.pageStatus = 'Session is no longer valid. Please close this window and log in again.';\r\n } else {\r\n this.pageStatus = error.toString();\r\n }\r\n dispatch('app/setIsLoading', false);\r\n });\r\n });\r\n }\r\n } else {\r\n this.pageStatus = returnedStatus;\r\n dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'LoggedInPayment.vue',\r\n methodName: 'doApplicationCheck-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n this.pageStatus = error.toString();\r\n dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggedInPayment.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggedInPayment.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LoggedInPayment.vue?vue&type=template&id=78b12bbc\"\nimport script from \"./LoggedInPayment.vue?vue&type=script&lang=js\"\nexport * from \"./LoggedInPayment.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-container pb-10\",attrs:{\"fluid\":\"\"}},[_c('h1',{staticClass:\"tfb-title-text-medium text-darker-blue text-uppercase\"},[_vm._v(\"Terms and Conditions\")]),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"drop-shadow background-white\",attrs:{\"fluid\":\"\"}},[(_vm.showEbillTerms)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-uppercase text-darker-blue\"},[_vm._v(\"E-bill Paperless Billing\")])])],1):_vm._e(),(_vm.showEbillTerms)?_c('v-row',{class:[ !_vm.showingFullEmail ? 'showLess' : '' ]},[_c('v-col',{staticClass:\"text-body-2\",attrs:{\"cols\":\"12\"}},[_c('p',[_vm._v(\" By clicking on the “Accept” button below, you accept these Terms and Conditions governing the use of \"),_c('strong',[_vm._v(\"E-bill Paperless Billing.\")])]),_c('p',[_vm._v(\" Throughout these Terms and Conditions, the words “you” and “your” refer to the policyholder, the named insured and/or the spouse if a resident of the same household, if applicable. The words “we,” “us,” or “our” within these Terms and Conditions refer to the companies providing your insurance, which may include, but not be limited to, Texas Farm Bureau Mutual Insurance Company, Texas Farm Bureau Premium Finance Company, Texas Farm Bureau Underwriters, Texas Farm Bureau Casualty Insurance Company, and Farm Bureau County Mutual Insurance Company of Texas and may also include, as applicable, a contractor acting on our behalf. \")]),_c('p',[_vm._v(\" These Terms and Conditions are in addition to other terms and conditions for other services provided by us. By agreeing to these Terms and Conditions, we will send you billing-related notices or payment reminders including, but not limited to, billing statements, billing notices, and other billing-related communications, electronically to the e-mail address you provided us. YOUR ACCEPTANCE OF THESE TERMS AND CONDITIONS CONSTITUTES YOUR AGREEMENT TO THESE TERMS AND CONDITIONS AND ANY SUBSEQUENT CHANGES TO THESE TERMS AND CONDITIONS; DO NOT CLICK “ACCEPT” OR PROVIDE PERSONAL INFORMATION IF YOU DO NOT AGREE WITH ALL OF THESE TERMS AND CONDITIONS. \")]),_c('p',[_vm._v(\" E-bill Paperless Billing must be selected individually for eligible insurance policies or master account. Only certain policies are eligible for E-bill Paperless Billing. You may receive certain documents by mail when required by law, due to technological constraints, or as we deem appropriate. Once you are successfully enrolled in E-bill Paperless Billing, you should expect to stop receiving paper billing statements within the next two billing cycles. In addition to E-bill Paperless Billing notifications, you will continue to receive copies of your policy documents through your chosen method of delivery, whether via paper or e-mail. Any E-bill Paperless Billing notification we send will be dated when sent to the e-mail address on file, even if a document is sent both electronically and as a paper copy. A paper copy does not alter the delivery date of the electronic document or any deadlines or responsibilities referenced by the document. \")]),_c('p',[_vm._v(\" We do not charge a separate fee for your use of E-bill Paperless Billing, but your wireless carrier or internet service provider may charge message, data, or other rates or fees for these notifications or your use of cellular data or internet to access these notifications. \")]),_c('p',[_vm._v(\" The enrolled e-mail will begin receiving E-bill Paperless Billing notifications regarding the selected Account shortly after enrollment. The frequency and the timing of receipt of e-mails will depend on a variety of factors, including, but not limited to, the policy’s billing cycle and whether payment on the account is timely or delinquent. \")]),_c('p',[_vm._v(\" E-bill Paperless Billing should be available through your electronic or mobile devices when in operating range of your wireless or internet service provider. However, this service may not be available through all wireless carriers or internet service providers, and certain functionalities of E-bill Paperless Billing may not be supported by your wireless carrier or internet service provider. It is your responsibility to contact your wireless carrier or internet service provider with questions regarding any issues, including rates, fees, and coverage. We cannot guarantee that E-bill Paperless Billing notifications provided through your wireless carrier or internet service provider will be delivered to you and are not liable for any delayed or undelivered E-bill Paperless Billing notifications. \")]),_c('p',[_vm._v(\" WE DO NOT WARRANT THAT THE INFORMATION, PROCESSES, OR SERVICES WILL BE UNINTERRUPTED, ACCURATE, COMPLETE, USEFUL, FUNCTIONAL, BUG, OR ERROR-FREE. TO THE EXTENT PERMITTED BY LAW, THIS SERVICE IS PROVIDED “AS IS”, “WITH ALL FAULTS”, AND WITHOUT EXPRESS OR IMPLIED WARRANTIES OF ANY KIND, INCLUDING THE FOLLOWING EXPRESSLY DISCLAIMED WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. YOU ASSUME ALL RESPONSIBILITY AND RISK FOR USE OF E-BILL PAPERLESS BILLING. \")]),_c('p',[_vm._v(\" It is your responsibility to provide us with an accurate and complete e-mail address, and to promptly update your Online Account with any changes to your e-mail address. Changes to your e-mail address used for E-bill Paperless Billing purposes will only update the e-mail address used for E-bill Paperless Billing notifications, and will not update any other e-mail addresses you have registered with us. \")]),_c('p',[_vm._v(\" Please ensure that you have disabled any spam or other filters that may prevent the delivery of an E-bill Paperless Billing notification to you. Additionally, please ensure that your e-mail is active and capable of receiving new e-mails. We are not responsible for problems arising from e-mails sent to an inactive or out-of-date e-mail address. Non-receipt of an E-bill Paperless Billing notification is not an excuse to not pay your bill. You are still responsible for payment of bills or any other amounts related to your insurance policy. You further acknowledge that we will continue to send E-bill Paperless Billing notifications to the enrolled e-mail address until you change or unenroll that e-mail address. You will receive a confirmation by e-mail when we have received a request to discontinue E-bill Paperless Billing notifications. Discontinuing E-bill Paperless Billing notifications will resume paper billing documents within fifteen (15) business days. \")]),_c('p',[_vm._v(\" At any time, you may provide updates to contacts and enrolled e-mail addresses or opt out of E-bill Paperless Billing in the “Manage My Account” section of our website. You may subsequently re-enroll in E-bill Paperless Billing at any time if you so choose. \")]),_c('p',[_vm._v(\" In lieu of paper billing documents, you will be sent an e-mail notification with a link to your online account where you can “View Your Statement”. Click on the link contained in the e-mail to access your account and view billing-related documents or simply go the “My Accounts” section of our website and log in to your account at any time. You will be required to enter a User ID and Password to access billing-related communications and applicable documents. The documents will appear as a .PDF document when viewed, so you will need compatible software capable of opening and viewing .PDF documents, such as that provided by Adobe Systems, Inc. \")]),_c('p',[_vm._v(\" You are responsible for use of the E-bill Paperless Billing service and are fully responsible for any payments to your account. If you believe a person not authorized by you has gained access to your e-mail, you must notify us promptly of any such unauthorized access. You are responsible and assume the risk for any loss, theft, or unauthorized use of your e-mail address, which could permit unauthorized persons to have access to your personal information and account information and/or use such information for unauthorized purposes. \")]),_c('p',[_vm._v(\" We may change these Terms and Conditions at any point and will provide you notice of the updated Terms and Conditions. However, your continued use of this E-bill Paperless Billing service represents your ongoing acceptance of these Terms and Conditions. \")]),_c('p',[_vm._v(\" AGREEMENT TO ARBITRATE\"),_c('br'),_vm._v(\" YOU AGREE TO ARBITRATE ANY AND ALL DISPUTES, CONTROVERSIES, OR CLAIMS BETWEEN, ON THE ONE HAND, YOU OR ANYONE ELSE ASSERTING A CLAIM BELONGING TO, OBTAINED THROUGH, OR ON BEHALF OF YOU, AND, ON THE OTHER HAND, US, OUR AFFILIATES, AND ANY OF OUR OR THEIR OFFICERS, DIRECTORS, EMPLOYEES, CONTRACTORS, AND/OR REPRESENTATIVES, ARISING OUT OF OR RELATED IN ANY WAY TO: (I) THESE TERMS AND CONDITIONS AND/OR (II) E-BILL PAPERLESS BILLING (THE “COVERED CLAIMS”). AN “AFFILIATE” SHALL MEAN ANY ENTITY CONTROLLED BY OR UNDER COMMON CONTROL WITH, DIRECTLY OR INDIRECTLY, THE TEXAS FARM BUREAU (WHICH SHALL INCLUDE WITHOUT LIMITATION CONTROL EXERCISED BY MANAGEMENT CONTRACT, PROXIES, OR ANY OTHER MEANS). FOR ALL COVERED CLAIMS, YOU AGREE THAT ARBITRATION SHALL BE THE EXCLUSIVE REMEDY AND SHALL BE FINAL AND BINDING. JUDGMENT UPON ANY ARBITRATION AWARD MAY BE ENTERED IN ANY COURT OF COMPETENT JURISDICTION. \")]),_c('p',[_c('strong',[_vm._v(\" YOU UNDERSTAND AND AGREE THAT ARBITRATION IS THE ONLY LITIGATION FORUM FOR RESOLVING A COVERED CLAIM, AND THAT BOTH WE AND YOU ARE WAIVING A RIGHT TO A TRIAL BEFORE A JUDGE OR JURY IN FEDERAL OR STATE COURT IN FAVOR OF ARBITRATION. \")])]),_c('p',[_vm._v(\" YOUR COVERED CLAIM(S) WILL BE DETERMINED IN AN INDIVIDUAL PROCEEDING AND MAY NOT BE JOINED TOGETHER WITH THE CLAIMS OF ANY OTHER PERSONS WITHOUT THE EXPRESS WRITTEN CONSENT OF ALL THE OTHER PARTIES TO THE PROCEEDING. YOU AGREE TO WAIVE ANY RIGHT TO COMMENCE OR PARTICIPATE IN A CLASS, COLLECTIVE, OR REPRESENTATIVE ACTION; AND ANY RIGHT TO UTILIZE CLASS-ACTION, COLLECTIVE-ACTION, OR REPRESENTATIVE-ACTION PROCEDURES. (THIS PARAGRAPH IS REFERRED TO AS THE “CLASS ACTION WAIVER”). \"),_c('strong',[_vm._v(\" THE ACTION WAIVER PRECLUDES YOU OR ANY PARTY FROM PARTICIPATING IN OR BEING REPRESENTED IN ANY CLASS, COLLECTIVE, OR REPRESENTATIVE ACTION REGARDING A COVERED CLAIM IN ANY FORUM. \")])]),_c('p',[_vm._v(\" IN ARBITRATION, THE ARBITRATOR SHALL HAVE NO POWER TO ARBITRATE ANY FORM OF A CLASS, COLLECTIVE, OR REPRESENTATIVE PROCEEDING; TO UTILIZE CLASS-ACTION, COLLECTIVE-ACTION, OR REPRESENTATIVE-ACTION PROCEDURES; OR TO COMBINE A COVERED CLAIM WITH ANY OTHER CLAIM THAT IS NOT A COVERED CLAIM. EACH PARTY SHALL ASSERT IN ONE PROCEEDING ALL OF THE PARTY’S COVERED CLAIMS AGAINST THE OTHER PARTIES ARISING OUT OF THE SAME TRANSACTION OR OCCURRENCE OR SERIES OF TRANSACTIONS OR OCCURRENCES. IF THE CLASS ACTION WAIVER IS, BY FORCE OF LAW, LIMITED, VOIDED, OR DETERMINED TO BE ILLEGAL, INVALID, OR OTHERWISE UNENFORCEABLE, THEN THIS AGREEMENT TO ARBITRATE SHALL BE NULL AND VOID WITH RESPECT TO SUCH PROCEEDING, SUBJECT TO THE RIGHT TO APPEAL THE LIMITATION OR INVALIDATION OF THE CLASS ACTION WAIVER AND, IF SUCH APPEAL IS SUCCESSFUL, TO ENFORCE THIS AGREEMENT TO ARBITRATE SUBJECT TO THE CLASS ACTION WAIVER. \")]),_c('p',[_vm._v(\" THE ARBITRATOR SHALL HAVE THE EXCLUSIVE AUTHORITY TO RESOLVE ANY AND ALL ISSUES OF ARBITRABILITY, INCLUDING BUT NOT LIMITED TO ISSUES REGARDING THE EXISTENCE, ENFORCEABILITY, VALIDITY, LEGALITY, UNCONSCIONABILITY, SCOPE, INTERPRETATION, OR APPLICABILITY OF THIS AGREEMENT OR ANY PART THEREOF; NOTWITHSTANDING THE ABOVE, ANY ISSUES REGARDING THE VALIDITY AND EFFECT OF THE CLASS ACTION WAIVER MAY BE DETERMINED ONLY BY A COURT AND NOT BY AN ARBITRATOR. \")]),_c('p',[_vm._v(\" THE ARBITRATOR SHALL NOT HAVE THE POWER TO GRANT GREATER RELIEF THAN WOULD HAVE BEEN AVAILABLE HAD THE MATTER BEEN HEARD IN COURT. THE ARBITRATOR SHALL BAR A COVERED CLAIM IF ARBITRATION IS NOT INITIATED WITHIN THE TIME OTHERWISE PERMITTED FOR LEGAL ACTION UNDER THE APPLICABLE LIMITATIONS PERIOD. THE PARTIES DO NOT WAIVE ANY EXHAUSTION REQUIREMENTS THAT MAY APPLY PRIOR TO ASSERTING A COVERED CLAIM. THE ARBITRATOR SHALL HAVE NO POWER TO VARY OR IGNORE ANY TERM OF THESE TERMS AND CONDITIONS. THE ARBITRATOR SHALL FOLLOW THE SUBSTANTIVE LAWS OF THE STATE OF TEXAS (WITHOUT REFERENCE TO ITS CHOICE-OF-LAW PRINCIPLES) AND ANY APPLICABLE FEDERAL LAW. \")]),_c('p',[_vm._v(\" WE WILL PAY ALL ARBITRATOR COSTS AND ADMINISTRATIVE FEES OF THE ARBITRATION EXCEPT FOR ANY INITIAL FILING FEE FOR A CLAIM BROUGHT BY YOU, WHICH FEE SHALL BE PAID BY YOU UP TO THE LESSER OF $400 OR THE COST OF FILING A NEW CIVIL SUIT IN THE U.S. DISTRICT COURT FOR THE WESTERN DISTRICT OF TEXAS. THE PARTIES WILL BE RESPONSIBLE FOR THEIR OWN ATTORNEY’S FEES UNLESS OTHERWISE ORDERED BY THE ARBITRATOR IN ACCORDANCE WITH APPLICABLE LAW. ARBITRATION SHALL BE CONDUCTED BY A SINGLE ARBITRATOR SELECTED THROUGH THE AMERICAN ARBITRATION ASSOCIATION (“AAA”). THE PROCEEDING SHALL BE GOVERNED BY THE COMMERCIAL ARBITRATION RULES OF THE AAA IN EFFECT AT THE TIME THE ARBITRATION IS COMMENCED, BUT ONLY TO THE EXTENT CONSISTENT WITH THIS AGREEMENT. VENUE FOR THE ARBITRATION PROCEEDING SHALL BE IN MCLENNAN COUNTY, TEXAS. \")]),_c('p',[_vm._v(\" THIS AGREEMENT TO ARBITRATE IS MADE PURSUANT TO AND SHALL BE GOVERNED BY THE FEDERAL ARBITRATION ACT. EXCEPT AS MAY BE REQUIRED BY LAW OR AS NECESSARY IN A PROCEEDING TO CONFIRM OR ENFORCE AN ARBITRATION AWARD, NEITHER A PARTY NOR AN ARBITRATOR MAY DISCLOSE THE EXISTENCE, CONTENT, OR RESULTS OF ANY ARBITRATION UNDER THESE TERMS AND CONDITIONS. AN ARBITRATION AWARD AND ANY JUDGMENT CONFIRMING AN AWARD WILL APPLY ONLY TO THE SPECIFIC CASE ADJUDICATED AND SHALL NOT BE USED IN ANY OTHER CASE OR ARBITRATION PROCEEDING EXCEPT TO ENFORCE THE AWARD. \")])])],1):_vm._e(),(_vm.showEbillTerms)?_c('v-row',[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-expand-terms-button mx-auto\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.showingFullEmail = !_vm.showingFullEmail}}},[_vm._v(\"Read \"+_vm._s(_vm.showingFullEmail ? \"Less\" : \"More\"))])],1)],1):_vm._e(),(_vm.showTextTerms)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-uppercase text-darker-blue\"},[_vm._v(\"Text Billing Alerts\")])])],1):_vm._e(),(_vm.showTextTerms)?_c('v-row',{class:[ !_vm.showingFullText ? 'showLess' : '' ]},[_c('v-col',{staticClass:\"text-body-2\",attrs:{\"cols\":\"12\"}},[_c('p',[_vm._v(\" By clicking on the “Accept” button below, you accept these Terms and Conditions governing the use of \"),_c('strong',[_vm._v(\"Text Billing Alerts\")]),_vm._v(\". \")]),_c('p',[_vm._v(\" Throughout these Terms and Conditions, the words “you” and “your” refer to the policyholder, the named insured and/or the spouse if a resident of the same household, if applicable. The words “we,” “us,” or “our” within these Terms and Conditions refer to the companies providing your insurance, which may include, but not be limited to, Texas Farm Bureau Mutual Insurance Company, Texas Farm Bureau Premium Finance Company, Texas Farm Bureau Underwriters, Texas Farm Bureau Casualty Insurance Company, and Farm Bureau County Mutual Insurance Company of Texas and may also include, as applicable, a contractor acting on our behalf. \")]),_c('p',[_vm._v(\" These Terms and Conditions are in addition to other terms and conditions for other services provided by us. By agreeing to these Terms and Conditions, we will send you billing-related text messages to your mobile number, including, but not limited to, billing statements, billing notices, and other billing-related communications. YOUR ACCEPTANCE OF THESE TERMS AND CONDITIONS CONSTITUTES YOUR AGREEMENT TO THESE TERMS AND CONDITIONS AND ANY SUBSEQUENT CHANGES TO THESE TERMS AND CONDITIONS; DO NOT CLICK “ACCEPT” OR PROVIDE PERSONAL INFORMATION IF YOU DO NOT AGREE WITH ALL OF THESE TERMS AND CONDITIONS. \")]),_c('p',[_vm._v(\" Text Billing Alerts must be selected individually for eligible insurance policies. In addition to Text Billing Alerts, you will continue to receive copies of billing-related notices through your chosen method of delivery, whether via paper or email. You may receive certain documents by mail when required by law, due to technological constraints, or as we deem appropriate. \")]),_c('p',[_vm._v(\" Text Billing Alerts should be available through your electronic or mobile devices when in operating range of your wireless or internet service provider. However, this service may not be available through all wireless carriers or internet service providers, and certain functionalities of Text Billing Alerts may not be supported by your wireless carrier or internet service provider. It is your responsibility to contact your carrier with questions regarding any issues, including rates, fees, and coverage. We cannot guarantee that Text Billing Alerts provided through your wireless carrier or internet service provider will be delivered to you and are not liable for any delayed or undelivered Text Billing Alerts. \")]),_c('p',[_vm._v(\" By enrolling a mobile number in Text Billing Alerts, you are certifying that you are the account holder for the mobile number, or you have permission from the account holder to use that mobile number to receive text messages from us. You grant us express permission to send automated text messages to the mobile number unless and until such permission is revoked. By granting us express permission to send you Text Billing Alerts, you are requesting to receive text messages even though your mobile number may otherwise be on the federal or Texas Do Not Call List and you agree that your request overrides any prior Do Not Call or opt-out request. We may use third-party vendors to enhance certain features, including texts sent through an automatic telephone dialing system. \")]),_c('p',[_vm._v(\" The enrolled mobile number will begin receiving Text Billing Alerts regarding the selected policies shortly after enrollment. The frequency of text messages and the timing of receipt of text messages will depend on a variety of factors, including, but not limited to, the policy’s billing cycle and whether payment on the account is timely or delinquent. \")]),_c('p',[_vm._v(\" WE DO NOT WARRANT THAT THE INFORMATION, PROCESSES, OR SERVICES WILL BE UNINTERRUPTED, ACCURATE, COMPLETE, USEFUL, FUNCTIONAL, BUG, OR ERROR-FREE. TO THE EXTENT PERMITTED BY LAW, THIS SERVICE IS PROVIDED “AS IS”, “WITH ALL FAULTS”, AND WITHOUT EXPRESS OR IMPLIED WARRANTIES OF ANY KIND, INCLUDING THE FOLLOWING EXPRESSLY DISCLAIMED WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. YOU ASSUME ALL RESPONSIBILITY AND RISK FOR USE OF TEXT BILLING ALERTS. \")]),_c('p',[_vm._v(\" It is your responsibility to provide us with an accurate and complete mobile number capable of receiving text messages. You must notify us through your Online Account if your mobile number is changed or deactivated, and you further acknowledge that we will continue to send Text Billing Alerts to the enrolled mobile number until you change or unenroll the mobile number. \")]),_c('p',[_vm._v(\" Changing a contact’s mobile number used for Text Billing Alerts will update the mobile number used for Text Billing Alerts and will also update the mobile number associated with that contact across all of our systems for all purposes. \")]),_c('p',[_vm._v(\" Please ensure that you have disabled any robocall or other filters that may prevent the delivery of text messages to the enrolled mobile number. In the event any Text Billing Alert is delayed or undelivered, you are still responsible for payment of any premium or other amount due. \")]),_c('p',[_vm._v(\" As part of Text Billing Alerts, you will receive text messages notifying you when certain billing-related notices are ready to be viewed. Click on the link contained in the text message to log in to your account and view billing-related documents associated with your account. You may also go to the “My Accounts” section of our website and log in to your account at any time. You will be required to enter a User ID and Password to access your account. \")]),_c('p',[_vm._v(\" You are responsible for use of Text Billing Alerts and are fully responsible for any payments to your account. If you believe a person not authorized by you has gained access to your mobile number, you must notify us promptly of any such unauthorized access. You are responsible and assume the risk for any loss, theft, or unauthorized use of your mobile number, which could permit unauthorized persons to have access to your personal information and account information and/or use such information for unauthorized purposes. \")]),_c('p',[_vm._v(\" If a Text Billing Alert relates to a document, the document will appear as a .PDF document when viewed, so you will need compatible software capable of opening and viewing .PDF documents, such as that provided by Adobe Systems, Inc. \")]),_c('p',[_vm._v(\" At any time, you may provide updates to contacts and enrolled mobile numbers or opt out of Text Billing Alerts in the “Manage My Account” section of our website. By replying “STOP” to any text from us, that mobile number will be unenrolled in any future Text Billing Alerts. You will receive confirmation by either text message or email of a request to unenroll in Text Billing Alerts. If you reply “STOP” to any text from us, you agree to receive a confirmation message from us stating you have opted out of Text Billing Alerts. You will also no longer be able to receive text messages to that mobile number from us for any other services or alerts we may provide unless we amend these Terms and Conditions. You may subsequently enroll in Text Billing Alerts from a different mobile number if you so choose. \")]),_c('p',[_vm._v(\" We may change these Terms and Conditions at any point and will provide you notice of the updated Terms and Conditions. However, your continued use of Text Billing Alerts represents your ongoing acceptance of these Terms and Conditions. \")]),_c('p',[_vm._v(\" AGREEMENT TO ARBITRATE\"),_c('br'),_vm._v(\" YOU AGREE TO ARBITRATE ANY AND ALL DISPUTES, CONTROVERSIES, OR CLAIMS BETWEEN, ON THE ONE HAND, YOU OR ANYONE ELSE ASSERTING A CLAIM BELONGING TO, OBTAINED THROUGH, OR ON BEHALF OF YOU, AND, ON THE OTHER HAND, US, OUR AFFILIATES, AND ANY OF OUR OR THEIR OFFICERS, DIRECTORS, EMPLOYEES, CONTRACTORS, AND/OR REPRESENTATIVES, ARISING OUT OF OR RELATED IN ANY WAY TO: (I) THESE TERMS AND CONDITIONS AND/OR (II) TEXT BILLING ALERTS (THE “COVERED CLAIMS”). AN “AFFILIATE” SHALL MEAN ANY ENTITY CONTROLLED BY OR UNDER COMMON CONTROL WITH, DIRECTLY OR INDIRECTLY, THE TEXAS FARM BUREAU (WHICH SHALL INCLUDE WITHOUT LIMITATION CONTROL EXERCISED BY MANAGEMENT CONTRACT, PROXIES, OR ANY OTHER MEANS). FOR ALL COVERED CLAIMS, YOU AGREE THAT ARBITRATION SHALL BE THE EXCLUSIVE REMEDY AND SHALL BE FINAL AND BINDING. JUDGMENT UPON ANY ARBITRATION AWARD MAY BE ENTERED IN ANY COURT OF COMPETENT JURISDICTION. \")]),_c('p',[_c('strong',[_vm._v(\" YOU UNDERSTAND AND AGREE THAT ARBITRATION IS THE ONLY LITIGATION FORUM FOR RESOLVING A COVERED CLAIM, AND THAT BOTH WE AND YOU ARE WAIVING A RIGHT TO A TRIAL BEFORE A JUDGE OR JURY IN FEDERAL OR STATE COURT IN FAVOR OF ARBITRATION. \")])]),_c('p',[_vm._v(\" YOUR COVERED CLAIM(S) WILL BE DETERMINED IN AN INDIVIDUAL PROCEEDING AND MAY NOT BE JOINED TOGETHER WITH THE CLAIMS OF ANY OTHER PERSONS WITHOUT THE EXPRESS WRITTEN CONSENT OF ALL THE OTHER PARTIES TO THE PROCEEDING. YOU AGREE TO WAIVE ANY RIGHT TO COMMENCE OR PARTICIPATE IN A CLASS, COLLECTIVE, OR REPRESENTATIVE ACTION; AND ANY RIGHT TO UTILIZE CLASS-ACTION, COLLECTIVE-ACTION, OR REPRESENTATIVE-ACTION PROCEDURES. (THIS PARAGRAPH IS REFERRED TO AS THE “CLASS ACTION WAIVER”). \"),_c('strong',[_vm._v(\" THE CLASS ACTION WAIVER PRECLUDES YOU OR ANY PARTY FROM PARTICIPATING IN OR BEING REPRESENTED IN ANY CLASS, COLLECTIVE, OR REPRESENTATIVE ACTION REGARDING A COVERED CLAIM IN ANY FORUM. \")])]),_c('p',[_vm._v(\" IN ARBITRATION, THE ARBITRATOR SHALL HAVE NO POWER TO ARBITRATE ANY FORM OF A CLASS, COLLECTIVE, OR REPRESENTATIVE PROCEEDING; TO UTILIZE CLASS-ACTION, COLLECTIVE-ACTION, OR REPRESENTATIVE-ACTION PROCEDURES; OR TO COMBINE A COVERED CLAIM WITH ANY OTHER CLAIM THAT IS NOT A COVERED CLAIM. EACH PARTY SHALL ASSERT IN ONE PROCEEDING ALL OF THE PARTY’S COVERED CLAIMS AGAINST THE OTHER PARTIES ARISING OUT OF THE SAME TRANSACTION OR OCCURRENCE OR SERIES OF TRANSACTIONS OR OCCURRENCES. IF THE CLASS ACTION WAIVER IS, BY FORCE OF LAW, LIMITED, VOIDED, OR DETERMINED TO BE ILLEGAL, INVALID, OR OTHERWISE UNENFORCEABLE, THEN THIS AGREEMENT TO ARBITRATE SHALL BE NULL AND VOID WITH RESPECT TO SUCH PROCEEDING, SUBJECT TO THE RIGHT TO APPEAL THE LIMITATION OR INVALIDATION OF THE CLASS ACTION WAIVER AND, IF SUCH APPEAL IS SUCCESSFUL, TO ENFORCE THIS AGREEMENT TO ARBITRATE SUBJECT TO THE CLASS ACTION WAIVER. \")]),_c('p',[_vm._v(\" THE ARBITRATOR SHALL HAVE THE EXCLUSIVE AUTHORITY TO RESOLVE ANY AND ALL ISSUES OF ARBITRABILITY, INCLUDING BUT NOT LIMITED TO ISSUES REGARDING THE EXISTENCE, ENFORCEABILITY, VALIDITY, LEGALITY, UNCONSCIONABILITY, SCOPE, INTERPRETATION, OR APPLICABILITY OF THIS AGREEMENT OR ANY PART THEREOF; NOTWITHSTANDING THE ABOVE, ANY ISSUES REGARDING THE VALIDITY AND EFFECT OF THE CLASS ACTION WAIVER MAY BE DETERMINED ONLY BY A COURT AND NOT BY AN ARBITRATOR. \")]),_c('p',[_vm._v(\" THE ARBITRATOR SHALL NOT HAVE THE POWER TO GRANT GREATER RELIEF THAN WOULD HAVE BEEN AVAILABLE HAD THE MATTER BEEN HEARD IN COURT. THE ARBITRATOR SHALL BAR A COVERED CLAIM IF ARBITRATION IS NOT INITIATED WITHIN THE TIME OTHERWISE PERMITTED FOR LEGAL ACTION UNDER THE APPLICABLE LIMITATIONS PERIOD. THE PARTIES DO NOT WAIVE ANY EXHAUSTION REQUIREMENTS THAT MAY APPLY PRIOR TO ASSERTING A COVERED CLAIM. THE ARBITRATOR SHALL HAVE NO POWER TO VARY OR IGNORE ANY TERM OF THESE TERMS AND CONDITIONS. THE ARBITRATOR SHALL FOLLOW THE SUBSTANTIVE LAWS OF THE STATE OF TEXAS (WITHOUT REFERENCE TO ITS CHOICE-OF-LAW PRINCIPLES) AND ANY APPLICABLE FEDERAL LAW. \")]),_c('p',[_vm._v(\" WE WILL PAY ALL ARBITRATOR COSTS AND ADMINISTRATIVE FEES OF THE ARBITRATION EXCEPT FOR ANY INITIAL FILING FEE FOR A CLAIM BROUGHT BY YOU, WHICH FEE SHALL BE PAID BY YOU UP TO THE LESSER OF $400 OR THE COST OF FILING A NEW CIVIL SUIT IN THE U.S. DISTRICT COURT FOR THE WESTERN DISTRICT OF TEXAS. THE PARTIES WILL BE RESPONSIBLE FOR THEIR OWN ATTORNEY’S FEES UNLESS OTHERWISE ORDERED BY THE ARBITRATOR IN ACCORDANCE WITH APPLICABLE LAW. ARBITRATION SHALL BE CONDUCTED BY A SINGLE ARBITRATOR SELECTED THROUGH THE AMERICAN ARBITRATION ASSOCIATION (“AAA”). THE PROCEEDING SHALL BE GOVERNED BY THE COMMERCIAL ARBITRATION RULES OF THE AAA IN EFFECT AT THE TIME THE ARBITRATION IS COMMENCED, BUT ONLY TO THE EXTENT CONSISTENT WITH THIS AGREEMENT. VENUE FOR THE ARBITRATION PROCEEDING SHALL BE IN MCLENNAN COUNTY, TEXAS. \")]),_c('p',[_vm._v(\" THIS AGREEMENT TO ARBITRATE IS MADE PURSUANT TO AND SHALL BE GOVERNED BY THE FEDERAL ARBITRATION ACT. EXCEPT AS MAY BE REQUIRED BY LAW OR AS NECESSARY IN A PROCEEDING TO CONFIRM OR ENFORCE AN ARBITRATION AWARD, NEITHER A PARTY NOR AN ARBITRATOR MAY DISCLOSE THE EXISTENCE, CONTENT, OR RESULTS OF ANY ARBITRATION UNDER THESE TERMS AND CONDITIONS. AN ARBITRATION AWARD AND ANY JUDGMENT CONFIRMING AN AWARD WILL APPLY ONLY TO THE SPECIFIC CASE ADJUDICATED AND SHALL NOT BE USED IN ANY OTHER CASE OR ARBITRATION PROCEEDING EXCEPT TO ENFORCE THE AWARD. \")])])],1):_vm._e(),(_vm.showTextTerms)?_c('v-row',[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-expand-terms-button mx-auto\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.showingFullText = !_vm.showingFullText}}},[_vm._v(\"Read \"+_vm._s(_vm.showingFullText ? \"Less\" : \"More\"))])],1)],1):_vm._e(),_c('v-row',[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Email Notifications will be sent to: \")]),_vm._v(_vm._s(_vm.emailAddress)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Please enter your initials by each change.\")])])],1),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [(_vm.ebillRequest)?_c('v-form',{ref:\"form\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.saveEbillChanges)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.ebillHeaders,\"items\":_vm.ebillRequest,\"hide-default-footer\":\"\",\"disable-sort\":\"\"},scopedSlots:_vm._u([{key:\"item.MemberInitials\",fn:function({ item }){return [_c('text-input',{attrs:{\"rules\":\"required|min:2|max:3\",\"dense\":\"\",\"minlength\":\"2\",\"maxlength\":\"3\",\"label\":\"Initials\",\"vid\":item.PolicyNumber},model:{value:(item.MemberInitials),callback:function ($$v) {_vm.$set(item, \"MemberInitials\", $$v)},expression:\"item.MemberInitials\"}})]}}],null,true)})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.cancelEbillChanges()}}},[_vm._v(\"Cancel\")])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"type\":\"submit\",\"disabled\":_vm.formDisabled}},[_vm._v(\"Accept\")])],1)],1)],1):_vm._e()]}}])})],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-container pb-10\">\r\n <h1 class=\"tfb-title-text-medium text-darker-blue text-uppercase\">Terms and Conditions</h1>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"drop-shadow background-white\">\r\n <v-row v-if=\"showEbillTerms\">\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-small text-uppercase text-darker-blue\">E-bill Paperless Billing</h2>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"showEbillTerms\"\r\n v-bind:class=\"[ !showingFullEmail ? 'showLess' : '' ]\">\r\n <v-col cols=\"12\"\r\n class=\"text-body-2\">\r\n <p>\r\n By clicking on the “Accept” button below, you accept these Terms and Conditions governing the use of <strong>E-bill Paperless Billing.</strong>\r\n </p>\r\n <p>\r\n Throughout these Terms and Conditions, the words “you” and “your” refer to the policyholder, the named insured and/or the spouse if\r\n a resident of the same household, if applicable. The words “we,” “us,” or “our” within these Terms and Conditions refer\r\n to the companies providing your insurance, which may include, but not be limited to, Texas Farm Bureau Mutual Insurance Company, Texas Farm Bureau Premium\r\n Finance Company, Texas Farm Bureau Underwriters, Texas Farm Bureau Casualty Insurance Company, and Farm Bureau County Mutual Insurance Company of Texas and\r\n may also include, as applicable, a contractor acting on our behalf.\r\n </p>\r\n <p>\r\n These Terms and Conditions are in addition to other terms and conditions for other services provided by us. By agreeing to these Terms and Conditions, we will\r\n send you billing-related notices or payment reminders including, but not limited to, billing statements, billing notices, and other billing-related\r\n communications, electronically to the e-mail address you provided us. YOUR ACCEPTANCE OF THESE TERMS AND CONDITIONS CONSTITUTES YOUR AGREEMENT TO THESE TERMS\r\n AND CONDITIONS AND ANY SUBSEQUENT CHANGES TO THESE TERMS AND CONDITIONS; DO NOT CLICK “ACCEPT” OR PROVIDE PERSONAL INFORMATION IF YOU DO NOT AGREE\r\n WITH ALL OF THESE TERMS AND CONDITIONS.\r\n </p>\r\n <p>\r\n E-bill Paperless Billing must be selected individually for eligible insurance policies or master account. Only certain policies are eligible for E-bill Paperless\r\n Billing. You may receive certain documents by mail when required by law, due to technological constraints, or as we deem appropriate. Once you are successfully\r\n enrolled in E-bill Paperless Billing, you should expect to stop receiving paper billing statements within the next two billing cycles. In addition to E-bill Paperless\r\n Billing notifications, you will continue to receive copies of your policy documents through your chosen method of delivery, whether via paper or e-mail. Any E-bill\r\n Paperless Billing notification we send will be dated when sent to the e-mail address on file, even if a document is sent both electronically and as a paper copy.\r\n A paper copy does not alter the delivery date of the electronic document or any deadlines or responsibilities referenced by the document.\r\n </p>\r\n <p>\r\n We do not charge a separate fee for your use of E-bill Paperless Billing, but your wireless carrier or internet service provider may charge message, data, or other\r\n rates or fees for these notifications or your use of cellular data or internet to access these notifications.\r\n </p>\r\n <p>\r\n The enrolled e-mail will begin receiving E-bill Paperless Billing notifications regarding the selected Account shortly after enrollment. The frequency and the timing\r\n of receipt of e-mails will depend on a variety of factors, including, but not limited to, the policy’s billing cycle and whether payment on the account is\r\n timely or delinquent.\r\n </p>\r\n <p>\r\n E-bill Paperless Billing should be available through your electronic or mobile devices when in operating range of your wireless or internet service provider. However,\r\n this service may not be available through all wireless carriers or internet service providers, and certain functionalities of E-bill Paperless Billing may not be\r\n supported by your wireless carrier or internet service provider. It is your responsibility to contact your wireless carrier or internet service provider with questions\r\n regarding any issues, including rates, fees, and coverage. We cannot guarantee that E-bill Paperless Billing notifications provided through your wireless carrier or\r\n internet service provider will be delivered to you and are not liable for any delayed or undelivered E-bill Paperless Billing notifications.\r\n </p>\r\n <p>\r\n WE DO NOT WARRANT THAT THE INFORMATION, PROCESSES, OR SERVICES WILL BE UNINTERRUPTED, ACCURATE, COMPLETE, USEFUL, FUNCTIONAL, BUG, OR ERROR-FREE. TO THE EXTENT PERMITTED\r\n BY LAW, THIS SERVICE IS PROVIDED “AS IS”, “WITH ALL FAULTS”, AND WITHOUT EXPRESS OR IMPLIED WARRANTIES OF ANY KIND, INCLUDING THE FOLLOWING\r\n EXPRESSLY DISCLAIMED WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. YOU ASSUME ALL RESPONSIBILITY AND RISK FOR USE OF\r\n E-BILL PAPERLESS BILLING.\r\n </p>\r\n <p>\r\n It is your responsibility to provide us with an accurate and complete e-mail address, and to promptly update your Online Account with any changes to your e-mail address.\r\n Changes to your e-mail address used for E-bill Paperless Billing purposes will only update the e-mail address used for E-bill Paperless Billing notifications, and will not\r\n update any other e-mail addresses you have registered with us.\r\n </p>\r\n <p>\r\n Please ensure that you have disabled any spam or other filters that may prevent the delivery of an E-bill Paperless Billing notification to you. Additionally, please\r\n ensure that your e-mail is active and capable of receiving new e-mails. We are not responsible for problems arising from e-mails sent to an inactive or out-of-date\r\n e-mail address. Non-receipt of an E-bill Paperless Billing notification is not an excuse to not pay your bill. You are still responsible for payment of bills or any\r\n other amounts related to your insurance policy. You further acknowledge that we will continue to send E-bill Paperless Billing notifications to the enrolled e-mail\r\n address until you change or unenroll that e-mail address. You will receive a confirmation by e-mail when we have received a request to discontinue E-bill Paperless\r\n Billing notifications. Discontinuing E-bill Paperless Billing notifications will resume paper billing documents within fifteen (15) business days.\r\n </p>\r\n <p>\r\n At any time, you may provide updates to contacts and enrolled e-mail addresses or opt out of E-bill Paperless Billing in the “Manage My Account” section of\r\n our website. You may subsequently re-enroll in E-bill Paperless Billing at any time if you so choose.\r\n </p>\r\n <p>\r\n In lieu of paper billing documents, you will be sent an e-mail notification with a link to your online account where you can “View Your Statement”. Click\r\n on the link contained in the e-mail to access your account and view billing-related documents or simply go the “My Accounts” section of our website and\r\n log in to your account at any time. You will be required to enter a User ID and Password to access billing-related communications and applicable documents. The\r\n documents will appear as a .PDF document when viewed, so you will need compatible software capable of opening and viewing .PDF documents, such as that provided by\r\n Adobe Systems, Inc.\r\n </p>\r\n <p>\r\n You are responsible for use of the E-bill Paperless Billing service and are fully responsible for any payments to your account. If you believe a person not authorized\r\n by you has gained access to your e-mail, you must notify us promptly of any such unauthorized access. You are responsible and assume the risk for any loss, theft, or\r\n unauthorized use of your e-mail address, which could permit unauthorized persons to have access to your personal information and account information and/or use such\r\n information for unauthorized purposes.\r\n </p>\r\n <p>\r\n We may change these Terms and Conditions at any point and will provide you notice of the updated Terms and Conditions. However, your continued use of this E-bill Paperless\r\n Billing service represents your ongoing acceptance of these Terms and Conditions.\r\n </p>\r\n <p>\r\n AGREEMENT TO ARBITRATE<br />\r\n YOU AGREE TO ARBITRATE ANY AND ALL DISPUTES, CONTROVERSIES, OR CLAIMS BETWEEN, ON THE ONE HAND, YOU OR ANYONE ELSE ASSERTING A CLAIM BELONGING TO, OBTAINED THROUGH,\r\n OR ON BEHALF OF YOU, AND, ON THE OTHER HAND, US, OUR AFFILIATES, AND ANY OF OUR OR THEIR OFFICERS, DIRECTORS, EMPLOYEES, CONTRACTORS, AND/OR REPRESENTATIVES, ARISING\r\n OUT OF OR RELATED IN ANY WAY TO: (I) THESE TERMS AND CONDITIONS AND/OR (II) E-BILL PAPERLESS BILLING (THE “COVERED CLAIMS”). AN “AFFILIATE”\r\n SHALL MEAN ANY ENTITY CONTROLLED BY OR UNDER COMMON CONTROL WITH, DIRECTLY OR INDIRECTLY, THE TEXAS FARM BUREAU (WHICH SHALL INCLUDE WITHOUT LIMITATION CONTROL\r\n EXERCISED BY MANAGEMENT CONTRACT, PROXIES, OR ANY OTHER MEANS). FOR ALL COVERED CLAIMS, YOU AGREE THAT ARBITRATION SHALL BE THE EXCLUSIVE REMEDY AND SHALL BE FINAL\r\n AND BINDING. JUDGMENT UPON ANY ARBITRATION AWARD MAY BE ENTERED IN ANY COURT OF COMPETENT JURISDICTION.\r\n </p>\r\n <p>\r\n <strong>\r\n YOU UNDERSTAND AND AGREE THAT ARBITRATION IS THE ONLY LITIGATION FORUM FOR RESOLVING A COVERED CLAIM, AND THAT BOTH WE AND YOU ARE WAIVING A RIGHT TO A TRIAL\r\n BEFORE A JUDGE OR JURY IN FEDERAL OR STATE COURT IN FAVOR OF ARBITRATION.\r\n </strong>\r\n </p>\r\n <p>\r\n YOUR COVERED CLAIM(S) WILL BE DETERMINED IN AN INDIVIDUAL PROCEEDING AND MAY NOT BE JOINED TOGETHER WITH THE CLAIMS OF ANY OTHER PERSONS WITHOUT THE EXPRESS\r\n WRITTEN CONSENT OF ALL THE OTHER PARTIES TO THE PROCEEDING. YOU AGREE TO WAIVE ANY RIGHT TO COMMENCE OR PARTICIPATE IN A CLASS, COLLECTIVE, OR REPRESENTATIVE\r\n ACTION; AND ANY RIGHT TO UTILIZE CLASS-ACTION, COLLECTIVE-ACTION, OR REPRESENTATIVE-ACTION PROCEDURES. (THIS PARAGRAPH IS REFERRED TO AS THE\r\n “CLASS ACTION WAIVER”). <strong>\r\n THE ACTION WAIVER PRECLUDES YOU OR ANY PARTY FROM PARTICIPATING IN OR BEING REPRESENTED IN ANY CLASS, COLLECTIVE,\r\n OR REPRESENTATIVE ACTION REGARDING A COVERED CLAIM IN ANY FORUM.\r\n </strong>\r\n </p>\r\n <p>\r\n IN ARBITRATION, THE ARBITRATOR SHALL HAVE NO POWER TO ARBITRATE ANY FORM OF A CLASS, COLLECTIVE, OR REPRESENTATIVE PROCEEDING; TO UTILIZE CLASS-ACTION,\r\n COLLECTIVE-ACTION, OR REPRESENTATIVE-ACTION PROCEDURES; OR TO COMBINE A COVERED CLAIM WITH ANY OTHER CLAIM THAT IS NOT A COVERED CLAIM. EACH PARTY SHALL\r\n ASSERT IN ONE PROCEEDING ALL OF THE PARTY’S COVERED CLAIMS AGAINST THE OTHER PARTIES ARISING OUT OF THE SAME TRANSACTION OR OCCURRENCE OR SERIES OF\r\n TRANSACTIONS OR OCCURRENCES. IF THE CLASS ACTION WAIVER IS, BY FORCE OF LAW, LIMITED, VOIDED, OR DETERMINED TO BE ILLEGAL, INVALID, OR OTHERWISE UNENFORCEABLE,\r\n THEN THIS AGREEMENT TO ARBITRATE SHALL BE NULL AND VOID WITH RESPECT TO SUCH PROCEEDING, SUBJECT TO THE RIGHT TO APPEAL THE LIMITATION OR INVALIDATION OF THE\r\n CLASS ACTION WAIVER AND, IF SUCH APPEAL IS SUCCESSFUL, TO ENFORCE THIS AGREEMENT TO ARBITRATE SUBJECT TO THE CLASS ACTION WAIVER.\r\n </p>\r\n <p>\r\n THE ARBITRATOR SHALL HAVE THE EXCLUSIVE AUTHORITY TO RESOLVE ANY AND ALL ISSUES OF ARBITRABILITY, INCLUDING BUT NOT LIMITED TO ISSUES REGARDING THE EXISTENCE,\r\n ENFORCEABILITY, VALIDITY, LEGALITY, UNCONSCIONABILITY, SCOPE, INTERPRETATION, OR APPLICABILITY OF THIS AGREEMENT OR ANY PART THEREOF; NOTWITHSTANDING THE ABOVE,\r\n ANY ISSUES REGARDING THE VALIDITY AND EFFECT OF THE CLASS ACTION WAIVER MAY BE DETERMINED ONLY BY A COURT AND NOT BY AN ARBITRATOR.\r\n </p>\r\n <p>\r\n THE ARBITRATOR SHALL NOT HAVE THE POWER TO GRANT GREATER RELIEF THAN WOULD HAVE BEEN AVAILABLE HAD THE MATTER BEEN HEARD IN COURT. THE ARBITRATOR SHALL BAR A\r\n COVERED CLAIM IF ARBITRATION IS NOT INITIATED WITHIN THE TIME OTHERWISE PERMITTED FOR LEGAL ACTION UNDER THE APPLICABLE LIMITATIONS PERIOD. THE PARTIES DO NOT\r\n WAIVE ANY EXHAUSTION REQUIREMENTS THAT MAY APPLY PRIOR TO ASSERTING A COVERED CLAIM. THE ARBITRATOR SHALL HAVE NO POWER TO VARY OR IGNORE ANY TERM OF THESE\r\n TERMS AND CONDITIONS. THE ARBITRATOR SHALL FOLLOW THE SUBSTANTIVE LAWS OF THE STATE OF TEXAS (WITHOUT REFERENCE TO ITS CHOICE-OF-LAW PRINCIPLES) AND ANY\r\n APPLICABLE FEDERAL LAW.\r\n </p>\r\n <p>\r\n WE WILL PAY ALL ARBITRATOR COSTS AND ADMINISTRATIVE FEES OF THE ARBITRATION EXCEPT FOR ANY INITIAL FILING FEE FOR A CLAIM BROUGHT BY YOU, WHICH FEE SHALL BE\r\n PAID BY YOU UP TO THE LESSER OF $400 OR THE COST OF FILING A NEW CIVIL SUIT IN THE U.S. DISTRICT COURT FOR THE WESTERN DISTRICT OF TEXAS. THE PARTIES WILL\r\n BE RESPONSIBLE FOR THEIR OWN ATTORNEY’S FEES UNLESS OTHERWISE ORDERED BY THE ARBITRATOR IN ACCORDANCE WITH APPLICABLE LAW. ARBITRATION SHALL BE CONDUCTED\r\n BY A SINGLE ARBITRATOR SELECTED THROUGH THE AMERICAN ARBITRATION ASSOCIATION (“AAA”). THE PROCEEDING SHALL BE GOVERNED BY THE COMMERCIAL ARBITRATION RULES\r\n OF THE AAA IN EFFECT AT THE TIME THE ARBITRATION IS COMMENCED, BUT ONLY TO THE EXTENT CONSISTENT WITH THIS AGREEMENT. VENUE FOR THE ARBITRATION PROCEEDING\r\n SHALL BE IN MCLENNAN COUNTY, TEXAS.\r\n </p>\r\n <p>\r\n THIS AGREEMENT TO ARBITRATE IS MADE PURSUANT TO AND SHALL BE GOVERNED BY THE FEDERAL ARBITRATION ACT. EXCEPT AS MAY BE REQUIRED BY LAW OR AS NECESSARY IN A\r\n PROCEEDING TO CONFIRM OR ENFORCE AN ARBITRATION AWARD, NEITHER A PARTY NOR AN ARBITRATOR MAY DISCLOSE THE EXISTENCE, CONTENT, OR RESULTS OF ANY ARBITRATION\r\n UNDER THESE TERMS AND CONDITIONS. AN ARBITRATION AWARD AND ANY JUDGMENT CONFIRMING AN AWARD WILL APPLY ONLY TO THE SPECIFIC CASE ADJUDICATED AND SHALL NOT\r\n BE USED IN ANY OTHER CASE OR ARBITRATION PROCEEDING EXCEPT TO ENFORCE THE AWARD.\r\n </p>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"showEbillTerms\">\r\n <v-col cols=\"12\"\r\n class=\"text-center\">\r\n <v-btn text\r\n class=\"tfb-expand-terms-button mx-auto\"\r\n @click=\"showingFullEmail = !showingFullEmail\">Read {{ showingFullEmail ? \"Less\" : \"More\" }}</v-btn>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"showTextTerms\">\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-small text-uppercase text-darker-blue\">Text Billing Alerts</h2>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"showTextTerms\"\r\n v-bind:class=\"[ !showingFullText ? 'showLess' : '' ]\">\r\n <v-col cols=\"12\"\r\n class=\"text-body-2\">\r\n <p>\r\n By clicking on the “Accept” button below, you accept these Terms and Conditions governing the use of <strong>Text Billing Alerts</strong>.\r\n </p>\r\n <p>\r\n Throughout these Terms and Conditions, the words “you” and “your” refer to the policyholder, the named insured and/or the spouse if\r\n a resident of the same household, if applicable. The words “we,” “us,” or “our” within these Terms and Conditions refer\r\n to the companies providing your insurance, which may include, but not be limited to, Texas Farm Bureau Mutual Insurance Company, Texas Farm Bureau Premium\r\n Finance Company, Texas Farm Bureau Underwriters, Texas Farm Bureau Casualty Insurance Company, and Farm Bureau County Mutual Insurance Company of Texas and\r\n may also include, as applicable, a contractor acting on our behalf.\r\n </p>\r\n <p>\r\n These Terms and Conditions are in addition to other terms and conditions for other services provided by us. By agreeing to these Terms and Conditions, we will\r\n send you billing-related text messages to your mobile number, including, but not limited to, billing statements, billing notices, and other billing-related\r\n communications. YOUR ACCEPTANCE OF THESE TERMS AND CONDITIONS CONSTITUTES YOUR AGREEMENT TO THESE TERMS AND CONDITIONS AND ANY SUBSEQUENT CHANGES TO THESE TERMS\r\n AND CONDITIONS; DO NOT CLICK “ACCEPT” OR PROVIDE PERSONAL INFORMATION IF YOU DO NOT AGREE WITH ALL OF THESE TERMS AND CONDITIONS.\r\n </p>\r\n <p>\r\n Text Billing Alerts must be selected individually for eligible insurance policies. In addition to Text Billing Alerts, you will continue to receive copies of\r\n billing-related notices through your chosen method of delivery, whether via paper or email. You may receive certain documents by mail when required by law,\r\n due to technological constraints, or as we deem appropriate.\r\n </p>\r\n <p>\r\n Text Billing Alerts should be available through your electronic or mobile devices when in operating range of your wireless or internet service provider.\r\n However, this service may not be available through all wireless carriers or internet service providers, and certain functionalities of Text Billing Alerts\r\n may not be supported by your wireless carrier or internet service provider. It is your responsibility to contact your carrier with questions regarding any\r\n issues, including rates, fees, and coverage. We cannot guarantee that Text Billing Alerts provided through your wireless carrier or internet service\r\n provider will be delivered to you and are not liable for any delayed or undelivered Text Billing Alerts.\r\n </p>\r\n <p>\r\n By enrolling a mobile number in Text Billing Alerts, you are certifying that you are the account holder for the mobile number, or you have permission from\r\n the account holder to use that mobile number to receive text messages from us. You grant us express permission to send automated text messages to the mobile\r\n number unless and until such permission is revoked. By granting us express permission to send you Text Billing Alerts, you are requesting to receive text\r\n messages even though your mobile number may otherwise be on the federal or Texas Do Not Call List and you agree that your request overrides any prior Do\r\n Not Call or opt-out request. We may use third-party vendors to enhance certain features, including texts sent through an automatic telephone dialing system.\r\n </p>\r\n <p>\r\n The enrolled mobile number will begin receiving Text Billing Alerts regarding the selected policies shortly after enrollment. The frequency of text messages\r\n and the timing of receipt of text messages will depend on a variety of factors, including, but not limited to, the policy’s billing cycle and whether\r\n payment on the account is timely or delinquent.\r\n </p>\r\n <p>\r\n WE DO NOT WARRANT THAT THE INFORMATION, PROCESSES, OR SERVICES WILL BE UNINTERRUPTED, ACCURATE, COMPLETE, USEFUL, FUNCTIONAL, BUG, OR ERROR-FREE. TO THE\r\n EXTENT PERMITTED BY LAW, THIS SERVICE IS PROVIDED “AS IS”, “WITH ALL FAULTS”, AND WITHOUT EXPRESS OR IMPLIED WARRANTIES OF ANY KIND,\r\n INCLUDING THE FOLLOWING EXPRESSLY DISCLAIMED WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. YOU ASSUME ALL\r\n RESPONSIBILITY AND RISK FOR USE OF TEXT BILLING ALERTS.\r\n </p>\r\n <p>\r\n It is your responsibility to provide us with an accurate and complete mobile number capable of receiving text messages. You must notify us through your\r\n Online Account if your mobile number is changed or deactivated, and you further acknowledge that we will continue to send Text Billing Alerts to the enrolled\r\n mobile number until you change or unenroll the mobile number.\r\n </p>\r\n <p>\r\n Changing a contact’s mobile number used for Text Billing Alerts will update the mobile number used for Text Billing Alerts and will also update the\r\n mobile number associated with that contact across all of our systems for all purposes.\r\n </p>\r\n <p>\r\n Please ensure that you have disabled any robocall or other filters that may prevent the delivery of text messages to the enrolled mobile number. In the\r\n event any Text Billing Alert is delayed or undelivered, you are still responsible for payment of any premium or other amount due.\r\n </p>\r\n <p>\r\n As part of Text Billing Alerts, you will receive text messages notifying you when certain billing-related notices are ready to be viewed. Click on the link\r\n contained in the text message to log in to your account and view billing-related documents associated with your account. You may also go to the\r\n “My Accounts” section of our website and log in to your account at any time. You will be required to enter a User ID and Password to access your account.\r\n </p>\r\n <p>\r\n You are responsible for use of Text Billing Alerts and are fully responsible for any payments to your account. If you believe a person not authorized by\r\n you has gained access to your mobile number, you must notify us promptly of any such unauthorized access. You are responsible and assume the risk for any\r\n loss, theft, or unauthorized use of your mobile number, which could permit unauthorized persons to have access to your personal information and account\r\n information and/or use such information for unauthorized purposes.\r\n </p>\r\n <p>\r\n If a Text Billing Alert relates to a document, the document will appear as a .PDF document when viewed, so you will need compatible software capable of\r\n opening and viewing .PDF documents, such as that provided by Adobe Systems, Inc.\r\n </p>\r\n <p>\r\n At any time, you may provide updates to contacts and enrolled mobile numbers or opt out of Text Billing Alerts in the “Manage My Account”\r\n section of our website. By replying “STOP” to any text from us, that mobile number will be unenrolled in any future Text Billing Alerts.\r\n You will receive confirmation by either text message or email of a request to unenroll in Text Billing Alerts. If you reply “STOP” to any text\r\n from us, you agree to receive a confirmation message from us stating you have opted out of Text Billing Alerts. You will also no longer be able to receive\r\n text messages to that mobile number from us for any other services or alerts we may provide unless we amend these Terms and Conditions. You may subsequently\r\n enroll in Text Billing Alerts from a different mobile number if you so choose.\r\n </p>\r\n <p>\r\n We may change these Terms and Conditions at any point and will provide you notice of the updated Terms and Conditions. However, your continued use of Text\r\n Billing Alerts represents your ongoing acceptance of these Terms and Conditions.\r\n </p>\r\n <p>\r\n AGREEMENT TO ARBITRATE<br />\r\n YOU AGREE TO ARBITRATE ANY AND ALL DISPUTES, CONTROVERSIES, OR CLAIMS BETWEEN, ON THE ONE HAND, YOU OR ANYONE ELSE ASSERTING A CLAIM BELONGING TO, OBTAINED\r\n THROUGH, OR ON BEHALF OF YOU, AND, ON THE OTHER HAND, US, OUR AFFILIATES, AND ANY OF OUR OR THEIR OFFICERS, DIRECTORS, EMPLOYEES, CONTRACTORS, AND/OR\r\n REPRESENTATIVES, ARISING OUT OF OR RELATED IN ANY WAY TO: (I) THESE TERMS AND CONDITIONS AND/OR (II) TEXT BILLING ALERTS (THE “COVERED CLAIMS”).\r\n AN “AFFILIATE” SHALL MEAN ANY ENTITY CONTROLLED BY OR UNDER COMMON CONTROL WITH, DIRECTLY OR INDIRECTLY, THE TEXAS FARM BUREAU (WHICH SHALL\r\n INCLUDE WITHOUT LIMITATION CONTROL EXERCISED BY MANAGEMENT CONTRACT, PROXIES, OR ANY OTHER MEANS). FOR ALL COVERED CLAIMS, YOU AGREE THAT ARBITRATION SHALL\r\n BE THE EXCLUSIVE REMEDY AND SHALL BE FINAL AND BINDING. JUDGMENT UPON ANY ARBITRATION AWARD MAY BE ENTERED IN ANY COURT OF COMPETENT JURISDICTION.\r\n </p>\r\n <p>\r\n <strong>\r\n YOU UNDERSTAND AND AGREE THAT ARBITRATION IS THE ONLY LITIGATION FORUM FOR RESOLVING A COVERED CLAIM, AND THAT BOTH WE AND YOU ARE WAIVING A RIGHT TO\r\n A TRIAL BEFORE A JUDGE OR JURY IN FEDERAL OR STATE COURT IN FAVOR OF ARBITRATION.\r\n </strong>\r\n </p>\r\n <p>\r\n YOUR COVERED CLAIM(S) WILL BE DETERMINED IN AN INDIVIDUAL PROCEEDING AND MAY NOT BE JOINED TOGETHER WITH THE CLAIMS OF ANY OTHER PERSONS WITHOUT THE EXPRESS\r\n WRITTEN CONSENT OF ALL THE OTHER PARTIES TO THE PROCEEDING. YOU AGREE TO WAIVE ANY RIGHT TO COMMENCE OR PARTICIPATE IN A CLASS, COLLECTIVE, OR REPRESENTATIVE\r\n ACTION; AND ANY RIGHT TO UTILIZE CLASS-ACTION, COLLECTIVE-ACTION, OR REPRESENTATIVE-ACTION PROCEDURES. (THIS PARAGRAPH IS REFERRED TO AS THE\r\n “CLASS ACTION WAIVER”). <strong>\r\n THE CLASS ACTION WAIVER PRECLUDES YOU OR ANY PARTY FROM PARTICIPATING IN OR BEING REPRESENTED IN ANY CLASS,\r\n COLLECTIVE, OR REPRESENTATIVE ACTION REGARDING A COVERED CLAIM IN ANY FORUM.\r\n </strong>\r\n </p>\r\n <p>\r\n IN ARBITRATION, THE ARBITRATOR SHALL HAVE NO POWER TO ARBITRATE ANY FORM OF A CLASS, COLLECTIVE, OR REPRESENTATIVE PROCEEDING; TO UTILIZE CLASS-ACTION,\r\n COLLECTIVE-ACTION, OR REPRESENTATIVE-ACTION PROCEDURES; OR TO COMBINE A COVERED CLAIM WITH ANY OTHER CLAIM THAT IS NOT A COVERED CLAIM. EACH PARTY SHALL\r\n ASSERT IN ONE PROCEEDING ALL OF THE PARTY’S COVERED CLAIMS AGAINST THE OTHER PARTIES ARISING OUT OF THE SAME TRANSACTION OR OCCURRENCE OR SERIES OF\r\n TRANSACTIONS OR OCCURRENCES. IF THE CLASS ACTION WAIVER IS, BY FORCE OF LAW, LIMITED, VOIDED, OR DETERMINED TO BE ILLEGAL, INVALID, OR OTHERWISE UNENFORCEABLE,\r\n THEN THIS AGREEMENT TO ARBITRATE SHALL BE NULL AND VOID WITH RESPECT TO SUCH PROCEEDING, SUBJECT TO THE RIGHT TO APPEAL THE LIMITATION OR INVALIDATION OF THE\r\n CLASS ACTION WAIVER AND, IF SUCH APPEAL IS SUCCESSFUL, TO ENFORCE THIS AGREEMENT TO ARBITRATE SUBJECT TO THE CLASS ACTION WAIVER.\r\n </p>\r\n <p>\r\n THE ARBITRATOR SHALL HAVE THE EXCLUSIVE AUTHORITY TO RESOLVE ANY AND ALL ISSUES OF ARBITRABILITY, INCLUDING BUT NOT LIMITED TO ISSUES REGARDING THE EXISTENCE,\r\n ENFORCEABILITY, VALIDITY, LEGALITY, UNCONSCIONABILITY, SCOPE, INTERPRETATION, OR APPLICABILITY OF THIS AGREEMENT OR ANY PART THEREOF; NOTWITHSTANDING THE ABOVE,\r\n ANY ISSUES REGARDING THE VALIDITY AND EFFECT OF THE CLASS ACTION WAIVER MAY BE DETERMINED ONLY BY A COURT AND NOT BY AN ARBITRATOR.\r\n </p>\r\n <p>\r\n THE ARBITRATOR SHALL NOT HAVE THE POWER TO GRANT GREATER RELIEF THAN WOULD HAVE BEEN AVAILABLE HAD THE MATTER BEEN HEARD IN COURT. THE ARBITRATOR SHALL BAR A\r\n COVERED CLAIM IF ARBITRATION IS NOT INITIATED WITHIN THE TIME OTHERWISE PERMITTED FOR LEGAL ACTION UNDER THE APPLICABLE LIMITATIONS PERIOD. THE PARTIES DO NOT\r\n WAIVE ANY EXHAUSTION REQUIREMENTS THAT MAY APPLY PRIOR TO ASSERTING A COVERED CLAIM. THE ARBITRATOR SHALL HAVE NO POWER TO VARY OR IGNORE ANY TERM OF THESE\r\n TERMS AND CONDITIONS. THE ARBITRATOR SHALL FOLLOW THE SUBSTANTIVE LAWS OF THE STATE OF TEXAS (WITHOUT REFERENCE TO ITS CHOICE-OF-LAW PRINCIPLES) AND ANY\r\n APPLICABLE FEDERAL LAW.\r\n </p>\r\n <p>\r\n WE WILL PAY ALL ARBITRATOR COSTS AND ADMINISTRATIVE FEES OF THE ARBITRATION EXCEPT FOR ANY INITIAL FILING FEE FOR A CLAIM BROUGHT BY YOU, WHICH FEE SHALL BE\r\n PAID BY YOU UP TO THE LESSER OF $400 OR THE COST OF FILING A NEW CIVIL SUIT IN THE U.S. DISTRICT COURT FOR THE WESTERN DISTRICT OF TEXAS. THE PARTIES WILL\r\n BE RESPONSIBLE FOR THEIR OWN ATTORNEY’S FEES UNLESS OTHERWISE ORDERED BY THE ARBITRATOR IN ACCORDANCE WITH APPLICABLE LAW. ARBITRATION SHALL BE\r\n CONDUCTED BY A SINGLE ARBITRATOR SELECTED THROUGH THE AMERICAN ARBITRATION ASSOCIATION (“AAA”). THE PROCEEDING SHALL BE GOVERNED BY THE COMMERCIAL\r\n ARBITRATION RULES OF THE AAA IN EFFECT AT THE TIME THE ARBITRATION IS COMMENCED, BUT ONLY TO THE EXTENT CONSISTENT WITH THIS AGREEMENT. VENUE FOR THE\r\n ARBITRATION PROCEEDING SHALL BE IN MCLENNAN COUNTY, TEXAS.\r\n </p>\r\n <p>\r\n THIS AGREEMENT TO ARBITRATE IS MADE PURSUANT TO AND SHALL BE GOVERNED BY THE FEDERAL ARBITRATION ACT. EXCEPT AS MAY BE REQUIRED BY LAW OR AS NECESSARY IN A\r\n PROCEEDING TO CONFIRM OR ENFORCE AN ARBITRATION AWARD, NEITHER A PARTY NOR AN ARBITRATOR MAY DISCLOSE THE EXISTENCE, CONTENT, OR RESULTS OF ANY ARBITRATION\r\n UNDER THESE TERMS AND CONDITIONS. AN ARBITRATION AWARD AND ANY JUDGMENT CONFIRMING AN AWARD WILL APPLY ONLY TO THE SPECIFIC CASE ADJUDICATED AND SHALL NOT\r\n BE USED IN ANY OTHER CASE OR ARBITRATION PROCEEDING EXCEPT TO ENFORCE THE AWARD.\r\n </p>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"showTextTerms\">\r\n <v-col cols=\"12\"\r\n class=\"text-center\">\r\n <v-btn text\r\n class=\"tfb-expand-terms-button mx-auto\"\r\n @click=\"showingFullText = !showingFullText\">Read {{ showingFullText ? \"Less\" : \"More\" }}</v-btn>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"text-center\">\r\n <span class=\"font-weight-bold\">Email Notifications will be sent to: </span>{{emailAddress}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"text-center\">\r\n <span class=\"font-weight-bold\">Please enter your initials by each change.</span>\r\n </v-col>\r\n </v-row>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form ref=\"form\"\r\n v-if=\"ebillRequest\"\r\n @submit.stop.prevent=\"handleSubmit(saveEbillChanges)\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-data-table :headers=\"ebillHeaders\"\r\n :items=\"ebillRequest\"\r\n hide-default-footer\r\n disable-sort>\r\n <template v-slot:item.MemberInitials=\"{ item }\">\r\n <text-input rules=\"required|min:2|max:3\"\r\n dense\r\n minlength=\"2\"\r\n maxlength=\"3\"\r\n label=\"Initials\"\r\n v-model=\"item.MemberInitials\"\r\n :vid=\"item.PolicyNumber\"></text-input>\r\n </template>\r\n </v-data-table>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n @click=\"cancelEbillChanges()\"\r\n class=\"tfb-button background-red\">Cancel</v-btn>\r\n </v-col>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n type=\"submit\"\r\n :disabled=\"formDisabled\"\r\n class=\"tfb-button background-red\">Accept</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import { ValidationObserver } from 'vee-validate';\r\n import tfbMetaInfo from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import { insuredAccessOnlyErrorMessage } from '@/mixins/errorMessages';\r\n\r\n export default {\r\n name: 'ChangeEbill',\r\n mixins: [tfbMetaInfo, tfbHelperMixin],\r\n components: {\r\n ValidationObserver,\r\n },\r\n data() {\r\n return {\r\n formDisabled: false,\r\n showEbillTerms: false,\r\n showTextTerms: false,\r\n showingFullEmail: false,\r\n showingFullText: false,\r\n changeRequests: [],\r\n unEnrollRequests: [],\r\n ebillHeaders: [\r\n { text: 'Policy', align: 'start', value: 'PolicyNumber' },\r\n { text: 'E-bill Action', value: 'EbillChange' },\r\n { text: 'Text Action', value: 'PhoneChange' },\r\n { text: 'Initials', value: 'MemberInitials' },\r\n ],\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'E-bill Paperless Billing and Text Message Notification Terms and Conditions | PolicyHolder';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/payments/ebill`;\r\n },\r\n ebillRequest() {\r\n try {\r\n return this.$store.getters['payments/ebillRequest'];\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n emailAddress() {\r\n try {\r\n return this.$store.getters['member/emailAddress'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n memberId() {\r\n try {\r\n return this.$store.getters['member/memberId'];\r\n } catch (error) {\r\n return '0';\r\n }\r\n },\r\n memberNumber() {\r\n try {\r\n return this.$store.getters['member/memberNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n },\r\n methods: {\r\n cancelEbillChanges() {\r\n dispatch('app/clearErrorMessage');\r\n // Clear the request\r\n this.$store.commit('payments/SET_EBILL_REQUEST', null);\r\n // Go back to Management screen\r\n this.$router.push({ name: 'policyholderAccountManagement' });\r\n },\r\n saveEbillChanges() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `${this.memberId}-${this.memberNumber}-${this.ebillRequest.type}-${this.emailAddress}`,\r\n fileName: 'ChangeEbill.vue',\r\n methodName: 'saveEbillChanges-Start',\r\n trackerId: this.trackingId,\r\n });\r\n // Call service\r\n dispatch('payments/setupEbillInformation', {\r\n sEmailAddress: this.emailAddress, sMemberNumber: this.memberNumber, sMemberId: this.memberId, sPolicyList: this.ebillRequest, sTfbId: this.trackingId,\r\n })\r\n .then((setupResult) => {\r\n if (setupResult) {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: setupResult,\r\n fileName: 'ChangeEbill.vue',\r\n methodName: 'setupEbillInformation-Response',\r\n trackerId: this.trackingId,\r\n });\r\n // Handle return\r\n if (setupResult.ErrorMessage) {\r\n dispatch('app/setErrorMessage', setupResult.ErrorMessage);\r\n dispatch('app/setIsLoading', false);\r\n } else {\r\n // Clear Account/Account Bill Summary to refetch\r\n this.$store.commit('policy/CLEAR_ACCOUNT_SUMMARY');\r\n this.$store.commit('payments/CLEAR_ACCOUNT_BILL_SUMMARY');\r\n // Clear the E-bill request\r\n this.$store.commit('payments/SET_EBILL_REQUEST', null);\r\n // Fetch the Account/Account Bill Summary information again\r\n dispatch('policy/getAccountSummary', { sMemberNumber: this.memberNumber, sTfbId: this.trackingId });\r\n dispatch('payments/getAccountBillInformation', { sMemberNumber: this.memberNumber, sTfbId: this.trackingId });\r\n // Go back to Summary screen\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n }\r\n }\r\n dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'ChangeEbill.vue',\r\n methodName: 'setupEbillInformation-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n },\r\n mounted() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n dispatch('app/doApplicationCheck', { sApplicationName: 'Ebill', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus === '') {\r\n if (!this.isLoggedIn) {\r\n // Invalid login - go back to login screen\r\n this.$router.push({ name: 'policyholderLogin' });\r\n } else if (!this.isMemberRole) {\r\n // Not the member, don't allow changes\r\n this.formDisabled = true;\r\n this.$store.dispatch('app/setErrorMessage', insuredAccessOnlyErrorMessage);\r\n this.$router.push({ name: 'policyholderAccountManagement' });\r\n } else if (!this.ebillRequest || this.ebillRequest === undefined || this.ebillRequest === null || this.ebillRequest.length <= 0) {\r\n // No request values, push back to Management screen\r\n this.$router.push({ name: 'policyholderAccountManagement' });\r\n } else {\r\n for (let i = 0; i < this.ebillRequest.length; i += 1) {\r\n const policy = this.ebillRequest[i];\r\n // Do we need to show the E-bill terms?\r\n if (policy.NewEbill !== policy.OriginalEbill) {\r\n this.showEbillTerms = true;\r\n }\r\n\r\n // Do we need to show the Text terms?\r\n if (policy.NewPhone !== null && policy.OriginalPhone !== null && policy.NewPhone.MiraId !== policy.OriginalPhone.MiraId) {\r\n this.showTextTerms = true;\r\n }\r\n }\r\n }\r\n\r\n dispatch('app/setIsLoading', false);\r\n } else {\r\n this.formDisabled = true;\r\n dispatch('app/setErrorMessage', returnedStatus);\r\n dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangeEbill.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangeEbill.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChangeEbill.vue?vue&type=template&id=5bc0d9a5\"\nimport script from \"./ChangeEbill.vue?vue&type=script&lang=js\"\nexport * from \"./ChangeEbill.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-container\",attrs:{\"fluid\":\"\"}},[_c('h1',{staticClass:\"tfb-title-text-medium text-darker-blue text-uppercase\"},[_vm._v(\" Premium Finance Payments \")]),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"drop-shadow tfb-smaller-container background-white\",attrs:{\"fluid\":\"\"}},[(!_vm.showForm && !_vm.showReview && !_vm.showFinal)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-darker-blue text-uppercase\"},[_vm._v(\" Terms & Conditions \")])])],1),_c('v-row',[_c('v-col',{staticClass:\"text-body-2 py-0\",attrs:{\"cols\":\"12\"}},[_c('p',[_vm._v(\" Before using the Electronic Payment System, please review these Terms & Conditions which constitute an agreement between you and Texas Farm Bureau Mutual Insurance Company, Texas Farm Bureau Premium Finance Company, Texas Farm Bureau Underwriters Texas Farm Bureau Casualty Insurance Company, and Farm Bureau County Mutual Insurance Company of Texas (“we”, “our”, “us”, “the Companies”) and describe both the benefits and restrictions on using this service to pay your insurance premiums. Please print and retain for future reference. These Terms & Conditions may be updated from time to time. \")]),_c('p',[_vm._v(\" Your premium payment will be deducted from your checking account. One time transfers are available online through this site. \"),_c('u',[_vm._v(\"Automatic recurring payments are not currently available.\")]),_vm._v(\" You can use a valid checking account from any recognized financial institution (bank, securities firm, etc.) in the country. Check with your financial institution to make sure it accepts electronic debits from the account you choose and to determine if your financial institution will charge you any fees for this service. Since some financial institutions use unique bank routing numbers and account numbers for electronic payments, it would be a good idea to verify your routing number and account number with your financial institution before initiating a transaction. Each time you initiate a transaction, you authorize us or our agent to draw a check, draft or automated clearing house (ACH) debit in your name on your account. This amount will be payable to us or our agent in the amount of the transaction and be deemed as a payment to us. We will present this check, draft or ACH to your financial institution for immediate payment. We reserve the right to stop any ACH transaction based upon a previous return from your financial institution, which includes, but is not limited to, invalid bank account, account closed or unauthorized transactions. \")]),_c('p',[_vm._v(\" You acknowledge that the Companies reserve the right to terminate your use of online payments at any time and for any reason. You agree that by no means will you attempt to gain unauthorized access to this site, other accounts, computer systems or networks connected to the hosting server. You agree to notify the Companies immediately of any unauthorized use of your account or any other breach of security. You agree that you will not deface, alter or interfere with the pages on this web site or the underlying software code, nor will you engage in any activity that will cause disruption of service to any member or interfere with a member’s use of this site. You agree to choose a password when registering. You are responsible for the confidentiality of your password and account information. You are fully responsible for all activities that occur using your password and account information. The Companies will not be liable for any loss that you may incur as a result of someone else using your password or account information, either with or without your knowledge. Also, you may not use anyone else’s password at any time. You agree not to use the Electronic Payment System and service for illegal purposes or for the transmission of material that is unlawful, harassing, libelous (untrue and damaging to others), invasive of another’s privacy, abusive, threatening or obscene, or that infringes the rights of other. \")]),_c('p',[_vm._v(\" If you agree to the terms and conditions as stated above, please enter your membership number and click “Submit”. If you do not agree or do not wish to proceed, please click “Cancel”. \")])])],1),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [_c('v-form',{ref:\"verifyForm\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.acceptTerms)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":_vm.memberRules,\"label\":\"Member Number\",\"autocapitalize\":\"characters\",\"minlength\":\"4\",\"maxlength\":\"6\"},model:{value:(_vm.verifyForm.memberNumber),callback:function ($$v) {_vm.$set(_vm.verifyForm, \"memberNumber\", $$v)},expression:\"verifyForm.memberNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.cancelPayment()}}},[_vm._v(\"Cancel\")])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\"Submit\")])],1)],1)],1)]}}],null,false,2750376237)})],1):_vm._e(),(_vm.showForm)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-darker-blue text-uppercase\"},[_vm._v(\" Make a Payment \")])])],1),_c('ValidationObserver',{ref:\"obvpay\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [_c('v-form',{ref:\"paymentForm\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.authPayment)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|routing_number|confirmed:routing|min:4|max:17\",\"minlength\":\"4\",\"maxlength\":\"17\",\"label\":\"Bank Routing Number\"},on:{\"blur\":function($event){return _vm.getBankName()}},model:{value:(_vm.paymentForm.routingNumber),callback:function ($$v) {_vm.$set(_vm.paymentForm, \"routingNumber\", $$v)},expression:\"paymentForm.routingNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:4|max:17\",\"minlength\":\"4\",\"maxlength\":\"17\",\"label\":\"Confirm Bank Routing Number\",\"vid\":\"routing\"},model:{value:(_vm.paymentForm.confirmRoutingNumber),callback:function ($$v) {_vm.$set(_vm.paymentForm, \"confirmRoutingNumber\", $$v)},expression:\"paymentForm.confirmRoutingNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required\",\"label\":\"Bank Name\",\"disabled\":\"\"},model:{value:(_vm.bankName),callback:function ($$v) {_vm.bankName=$$v},expression:\"bankName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|confirmed:account|min:4|max:17\",\"minlength\":\"4\",\"maxlength\":\"17\",\"label\":\"Bank Account Number\"},model:{value:(_vm.paymentForm.accountNumber),callback:function ($$v) {_vm.$set(_vm.paymentForm, \"accountNumber\", $$v)},expression:\"paymentForm.accountNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:4|max:17\",\"minlength\":\"4\",\"maxlength\":\"17\",\"label\":\"Confirm Bank Account Number\",\"vid\":\"account\"},model:{value:(_vm.paymentForm.confirmAccountNumber),callback:function ($$v) {_vm.$set(_vm.paymentForm, \"confirmAccountNumber\", $$v)},expression:\"paymentForm.confirmAccountNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Payment Type\",\"items\":_vm.paymentTypeOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\"},on:{\"change\":function($event){return _vm.paymentTypeChange()}},model:{value:(_vm.paymentType),callback:function ($$v) {_vm.paymentType=$$v},expression:\"paymentType\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:1|max:10|decimal\",\"label\":\"Payment Amount\",\"type\":\"number\",\"prefix\":\"mdi-currency-usd\",\"disabled\":_vm.amountDisabled},model:{value:(_vm.paymentForm.paymentAmount),callback:function ($$v) {_vm.$set(_vm.paymentForm, \"paymentAmount\", $$v)},expression:\"paymentForm.paymentAmount\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.cancelPayment()}}},[_vm._v(\"Cancel\")])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\"Submit\")])],1)],1)],1)]}}],null,false,3094673691)})],1):_vm._e(),(_vm.showReview)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-darker-blue text-uppercase\"},[_vm._v(\" Authorization \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-smaller\"},[_vm._v(\"Please review the entered transaction information. \"),_c('span',{staticClass:\"tfb-title-text-smaller font-weight-bold\"},[_vm._v(\"Your payment is not complete until you click the “Approve” button below.\")])])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Payment Date:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.paymentDate))),_c('br'),_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Contract Number:\")]),_vm._v(\" \"+_vm._s(_vm.contractNumber)),_c('br'),_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Payment Amount:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.paymentForm.paymentAmount, 2))),_c('br'),_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Routing Number:\")]),_vm._v(\" \"+_vm._s(_vm.paymentForm.routingNumber)),_c('br'),_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Account Number:\")]),_vm._v(\" \"+_vm._s(_vm.paymentForm.accountNumber)),_c('br')])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" By clicking “Approve”, I understand the payment cannot be revoked and that the listed amount will be drafted from the listed account as a one-time transaction. \")])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.cancelPayment()}}},[_vm._v(\"Cancel\")])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.makePayment()}}},[_vm._v(\"Approve\")])],1)],1)],1):_vm._e(),(_vm.showFinal)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-darker-blue text-uppercase\"},[_vm._v(\" Confirmation \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-small\"},[_vm._v(\"Your payment has been received.\")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-smaller\"},[_vm._v(\" Your confirmation number is \"),_c('span',{staticClass:\"text-red font-weight-bold\"},[_vm._v(_vm._s(_vm.confirmationNumber))])])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Payment Date:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.paymentDate))),_c('br'),_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Contract Number:\")]),_vm._v(\" \"+_vm._s(_vm.contractNumber)),_c('br'),_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Confirmation Number:\")]),_vm._v(\" \"+_vm._s(_vm.confirmationNumber)),_c('br'),_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Payment Amount:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.paymentForm.paymentAmount, 2))),_c('br')])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.printConfirmation()}}},[_vm._v(\"Print\")])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.cancelPayment()}}},[_vm._v(\"Return to Account Summary\")])],1)],1)],1):_vm._e()])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-container\">\r\n <h1 class=\"tfb-title-text-medium text-darker-blue text-uppercase\">\r\n Premium Finance Payments\r\n </h1>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"drop-shadow tfb-smaller-container background-white\">\r\n <div v-if=\"!showForm && !showReview && !showFinal\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-small text-darker-blue text-uppercase\">\r\n Terms & Conditions\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"text-body-2 py-0\">\r\n <p>\r\n Before using the Electronic Payment System, please review these Terms & Conditions which constitute\r\n an agreement between you and Texas Farm Bureau Mutual Insurance Company, Texas Farm Bureau Premium\r\n Finance Company, Texas Farm Bureau Underwriters Texas Farm Bureau Casualty Insurance Company, and\r\n Farm Bureau County Mutual Insurance Company of Texas (“we”, “our”, “us”, “the Companies”) and describe\r\n both the benefits and restrictions on using this service to pay your insurance premiums. Please print\r\n and retain for future reference. These Terms & Conditions may be updated from time to time.\r\n </p>\r\n <p>\r\n Your premium payment will be deducted from your checking account. One time transfers are available online through this site.\r\n <u>Automatic recurring payments are not currently available.</u>\r\n You can use a valid checking account from any recognized financial institution (bank, securities firm, etc.) in the country.\r\n Check with your financial institution to make sure it accepts electronic debits from the account you choose and to determine\r\n if your financial institution will charge you any fees for this service. Since some financial institutions use unique bank\r\n routing numbers and account numbers for electronic payments, it would be a good idea to verify your routing number and\r\n account number with your financial institution before initiating a transaction. Each time you initiate a transaction,\r\n you authorize us or our agent to draw a check, draft or automated clearing house (ACH) debit in your name on your account.\r\n This amount will be payable to us or our agent in the amount of the transaction and be deemed as a payment to us. We will\r\n present this check, draft or ACH to your financial institution for immediate payment. We reserve the right to stop any ACH\r\n transaction based upon a previous return from your financial institution, which includes, but is not limited to, invalid\r\n bank account, account closed or unauthorized transactions.\r\n </p>\r\n <p>\r\n You acknowledge that the Companies reserve the right to terminate your use of online payments at any time and for any reason.\r\n You agree that by no means will you attempt to gain unauthorized access to this site, other accounts, computer systems or\r\n networks connected to the hosting server. You agree to notify the Companies immediately of any unauthorized use of your\r\n account or any other breach of security. You agree that you will not deface, alter or interfere with the pages on this\r\n web site or the underlying software code, nor will you engage in any activity that will cause disruption of service to any\r\n member or interfere with a member’s use of this site. You agree to choose a password when registering. You are responsible\r\n for the confidentiality of your password and account information. You are fully responsible for all activities that occur\r\n using your password and account information. The Companies will not be liable for any loss that you may incur as a result\r\n of someone else using your password or account information, either with or without your knowledge. Also, you may not use\r\n anyone else’s password at any time. You agree not to use the Electronic Payment System and service for illegal purposes\r\n or for the transmission of material that is unlawful, harassing, libelous (untrue and damaging to others), invasive of\r\n another’s privacy, abusive, threatening or obscene, or that infringes the rights of other.\r\n </p>\r\n <p>\r\n If you agree to the terms and conditions as stated above, please enter your membership number and\r\n click “Submit”. If you do not agree or do not wish to proceed, please click “Cancel”.\r\n </p>\r\n </v-col>\r\n </v-row>\r\n <ValidationObserver ref=\"obv\"\r\n v-slot=\"{ handleSubmit }\">\r\n <v-form ref=\"verifyForm\"\r\n @submit.stop.prevent=\"handleSubmit(acceptTerms)\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input :rules=\"memberRules\"\r\n label=\"Member Number\"\r\n autocapitalize=\"characters\"\r\n minlength=\"4\"\r\n maxlength=\"6\"\r\n v-model=\"verifyForm.memberNumber\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n @click=\"cancelPayment()\"\r\n class=\"tfb-button background-red\">Cancel</v-btn>\r\n </v-col>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Submit</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </div>\r\n <div v-if=\"showForm\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-small text-darker-blue text-uppercase\">\r\n Make a Payment\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n <!-- Display pre-filled form -->\r\n <ValidationObserver ref=\"obvpay\" v-slot=\"{ handleSubmit }\">\r\n <v-form ref=\"paymentForm\"\r\n @submit.stop.prevent=\"handleSubmit(authPayment)\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|routing_number|confirmed:routing|min:4|max:17\"\r\n minlength=\"4\"\r\n maxlength=\"17\"\r\n label=\"Bank Routing Number\"\r\n v-model=\"paymentForm.routingNumber\"\r\n @blur=\"getBankName()\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:4|max:17\"\r\n minlength=\"4\"\r\n maxlength=\"17\"\r\n label=\"Confirm Bank Routing Number\"\r\n v-model=\"paymentForm.confirmRoutingNumber\"\r\n vid=\"routing\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required\"\r\n label=\"Bank Name\"\r\n disabled\r\n v-model=\"bankName\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|confirmed:account|min:4|max:17\"\r\n minlength=\"4\"\r\n maxlength=\"17\"\r\n label=\"Bank Account Number\"\r\n v-model=\"paymentForm.accountNumber\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:4|max:17\"\r\n minlength=\"4\"\r\n maxlength=\"17\"\r\n label=\"Confirm Bank Account Number\"\r\n v-model=\"paymentForm.confirmAccountNumber\"\r\n vid=\"account\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Payment Type\"\r\n :items=\"paymentTypeOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"paymentType\"\r\n @change=\"paymentTypeChange()\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:1|max:10|decimal\"\r\n label=\"Payment Amount\"\r\n type=\"number\"\r\n prefix=\"mdi-currency-usd\"\r\n :disabled=\"amountDisabled\"\r\n v-model=\"paymentForm.paymentAmount\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n @click=\"cancelPayment()\"\r\n class=\"tfb-button background-red\">Cancel</v-btn>\r\n </v-col>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Submit</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </div>\r\n <div v-if=\"showReview\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-small text-darker-blue text-uppercase\">\r\n Authorization\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-smaller\">Please review the entered transaction information.\r\n <span class=\"tfb-title-text-smaller font-weight-bold\">Your payment is not complete until you click the “Approve” button below.</span>\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <label class=\"font-weight-bold\">Payment Date:</label> {{formatDate(paymentDate)}}<br />\r\n <label class=\"font-weight-bold\">Contract Number:</label> {{contractNumber}}<br />\r\n <label class=\"font-weight-bold\">Payment Amount:</label> {{formatMoney(paymentForm.paymentAmount, 2)}}<br />\r\n <label class=\"font-weight-bold\">Routing Number:</label> {{paymentForm.routingNumber}}<br />\r\n <label class=\"font-weight-bold\">Account Number:</label> {{paymentForm.accountNumber}}<br />\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n By clicking “Approve”, I understand the payment cannot be revoked and that the listed amount\r\n will be drafted from the listed account as a one-time transaction.\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n @click=\"cancelPayment()\"\r\n class=\"tfb-button background-red\">Cancel</v-btn>\r\n </v-col>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n @click=\"makePayment()\"\r\n class=\"tfb-button background-red\">Approve</v-btn>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <div v-if=\"showFinal\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-small text-darker-blue text-uppercase\">\r\n Confirmation\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-small\">Your payment has been received.</span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-smaller\">\r\n Your confirmation number is <span class=\"text-red font-weight-bold\">{{confirmationNumber}}</span>\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <label class=\"font-weight-bold\">Payment Date:</label> {{formatDate(paymentDate)}}<br />\r\n <label class=\"font-weight-bold\">Contract Number:</label> {{contractNumber}}<br />\r\n <label class=\"font-weight-bold\">Confirmation Number:</label> {{confirmationNumber}}<br />\r\n <label class=\"font-weight-bold\">Payment Amount:</label> {{formatMoney(paymentForm.paymentAmount, 2)}}<br />\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n @click=\"printConfirmation()\"\r\n class=\"tfb-button background-red\">Print</v-btn>\r\n </v-col>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n @click=\"cancelPayment()\"\r\n class=\"tfb-button background-red\">Return to Account Summary</v-btn>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n /* eslint object-shorthand: 0 */\r\n import { dispatch } from 'vuex-pathify';\r\n import { ValidationObserver } from 'vee-validate';\r\n import tfbMetaInfo from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import { insuredAccessOnlyErrorMessage } from '@/mixins/errorMessages';\r\n /* eslint object-shorthand: 0 */\r\n\r\n export default {\r\n name: 'PremiumFinancePayments',\r\n mixins: [tfbMetaInfo, tfbHelperMixin],\r\n components: {\r\n ValidationObserver,\r\n },\r\n data() {\r\n return {\r\n formDisabled: false,\r\n bankName: null,\r\n showForm: false,\r\n showReview: false,\r\n showFinal: false,\r\n paymentType: 'C',\r\n amountDisabled: true,\r\n contractNumber: null,\r\n paymentForm: {\r\n routingNumber: null,\r\n confirmRoutingNumber: null,\r\n accountNumber: null,\r\n confirmAccountNumber: null,\r\n paymentAmount: null,\r\n },\r\n verifyForm: {\r\n memberNumber: null,\r\n },\r\n memberRules: {\r\n required: true,\r\n min: 4,\r\n max: 6,\r\n is: '',\r\n },\r\n confirmationNumber: null,\r\n paymentDate: null,\r\n paymentTypeOptions: [{ Value: 'C', DisplayText: 'Current Payment' }, { Value: 'O', DisplayText: 'Other Payment' }],\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Premium Finance Payments | PolicyHolder';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/payments/premium-finance`;\r\n },\r\n emailAddress() {\r\n try {\r\n return this.$store.getters['member/emailAddress'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n memberNumber() {\r\n try {\r\n return this.$store.getters['member/memberNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n pfPaymentRequest() {\r\n try {\r\n return this.$store.getters['payments/pfPaymentRequest'];\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n },\r\n methods: {\r\n getBankName() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('payments/validateRoutingNumber', {\r\n sRoutingNumber: this.paymentForm.routingNumber, sTfbId: this.trackingId,\r\n })\r\n .then((validationResult) => {\r\n this.bankName = validationResult;\r\n if (!validationResult || validationResult === '') {\r\n this.paymentForm.routingNumber = null;\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n paymentTypeChange() {\r\n if (this.paymentType === 'O' || (this.paymentType === 'C' && this.pfPaymentRequest.MinimumAmountDue === null)) {\r\n this.paymentForm.paymentAmount = '0.00';\r\n this.amountDisabled = false;\r\n } else {\r\n this.paymentForm.paymentAmount = this.pfPaymentRequest.MinimumAmountDue;\r\n this.amountDisabled = true;\r\n }\r\n },\r\n cancelPayment() {\r\n // Clear the request\r\n this.$store.commit('payments/SET_PF_PAYMENT_REQUEST', null);\r\n // Go back to Summary screen\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n },\r\n acceptTerms() {\r\n // Accepted the terms, so show the payment form\r\n this.showForm = true;\r\n },\r\n authPayment() {\r\n dispatch('app/clearErrorMessage');\r\n this.paymentDate = new Date().toISOString();\r\n this.showFinal = false;\r\n this.showReview = true;\r\n this.showForm = false;\r\n },\r\n makePayment() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `${this.pfPaymentRequest.ContractNumber}-${this.memberNumber}-${this.paymentForm.paymentAmount}`,\r\n fileName: 'PremiumFinancePayment.vue',\r\n methodName: 'makePayment-Start',\r\n trackerId: this.trackingId,\r\n });\r\n dispatch('payments/makePremiumFinancePayment', {\r\n sAccountNumber: this.paymentForm.accountNumber,\r\n sContractNumber: this.pfPaymentRequest.ContractNumber,\r\n sMemberNumber: this.memberNumber,\r\n sPaymentAmount: this.paymentForm.paymentAmount,\r\n sRoutingNumber: this.paymentForm.routingNumber,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((paymentResult) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: paymentResult,\r\n fileName: 'PremiumFinancePayment.vue',\r\n methodName: 'makePremiumFinancePayment-Response',\r\n trackerId: this.trackingId,\r\n });\r\n if (paymentResult.ConfirmationNumber && paymentResult.ConfirmationNumber !== '') {\r\n this.confirmationNumber = paymentResult.ConfirmationNumber;\r\n this.paymentDate = new Date().toISOString();\r\n this.showFinal = true;\r\n this.showReview = false;\r\n this.showForm = false;\r\n\r\n // Clear the request\r\n this.$store.commit('payments/SET_PF_PAYMENT_REQUEST', null);\r\n dispatch('app/setIsLoading', false);\r\n } else {\r\n dispatch('app/setErrorMessage', paymentResult.Result);\r\n dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'PremiumFinancePayment.vue',\r\n methodName: 'makePayment-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n printConfirmation() {\r\n // TODO: Print confirmation\r\n window.print();\r\n },\r\n },\r\n watch: {\r\n 'verifyForm.memberNumber'(val) {\r\n this.verifyForm.memberNumber = val.toUpperCase();\r\n },\r\n },\r\n mounted() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n dispatch('app/doApplicationCheck', { sApplicationName: 'Payments', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus === '') {\r\n if (!this.isLoggedIn) {\r\n // Invalid login - go back to login screen\r\n this.$router.push({ name: 'policyholderLogin' });\r\n } else if (!this.isMemberRole) {\r\n // Not the member, don't allow payment\r\n this.$store.dispatch('app/setErrorMessage', insuredAccessOnlyErrorMessage);\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n } else if (this.pfPaymentRequest === null) {\r\n // No request values, push back to Summary screen\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n } else {\r\n this.memberRules.is = this.memberNumber;\r\n this.contractNumber = this.pfPaymentRequest.ContractNumber;\r\n this.paymentForm.paymentAmount = this.pfPaymentRequest.MinimumAmountDue;\r\n this.amountDisabled = true;\r\n }\r\n dispatch('app/setIsLoading', false);\r\n } else {\r\n dispatch('app/setErrorMessage', returnedStatus);\r\n dispatch('app/setIsLoading', false);\r\n this.formDisabled = true;\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PremiumFinancePayment.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PremiumFinancePayment.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PremiumFinancePayment.vue?vue&type=template&id=68c2acf6\"\nimport script from \"./PremiumFinancePayment.vue?vue&type=script&lang=js\"\nexport * from \"./PremiumFinancePayment.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"drop-shadow background-white tfb-smaller-container\",attrs:{\"fluid\":\"\"}},[(!_vm.showFinal && !_vm.showOptOut && !_vm.showForm)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.changeType === 'signup')?_c('p',[_vm._v(\" AssurancePay® Recurring Payments must be setup at least five (5) business days prior to your next due date.\"),_c('br'),_c('br'),_vm._v(\" Any billed installments on your account will need to be paid before automatic drafting will begin. \")]):_c('p',[_vm._v(\" Your bill account is currently being paid by Recurring Payments drawn from your bank account. From this screen you have options to modify your AssurancePay settings, or cancel your Assurance Pay recurring payments.\"),_c('br'),_c('br'),_vm._v(\" Submissions must be at least five (5) business days prior to the next draft date as shown on the Recurring Payment Schedule. Changes submitted may not take effect until the next billing cycle. \")])])],1):_vm._e(),(_vm.recurringRequest && _vm.recurringRequest !== null)?_c('v-row',{staticClass:\"mt-1\"},[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"5\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Policy Number:\")])]),_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.recurringRequest.PolicyNumber)+\" \")])],1):_vm._e(),(_vm.recurringRequest && _vm.recurringRequest !== null)?_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"5\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Policy Holder Name:\")])]),_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.recurringRequest.InsuredName)+\" \")])],1):_vm._e(),(_vm.showCurrent && _vm.currentRecurring !== null)?_c('div',[_c('v-row',[_c('v-col',{staticClass:\"mt-3 pb-0\",attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-darker-blue text-uppercase\"},[_vm._v(\" Current AssurancePay® Information \")])])],1),_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"5\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Name on Bank Account:\")])]),_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.currentRecurring.PolicyholderName)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"5\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Bank Name:\")])]),_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.currentRecurring.BankName)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"5\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Bank Routing Number:\")])]),_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.currentRecurring.MaskedRoutingNumber)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"5\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Bank Account Number:\")])]),_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.currentRecurring.MaskedAccountNumber)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"5\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Type of Account:\")])]),_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.currentRecurring.FullAccountType)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"5\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Requested Draft Day:\")])]),_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.currentRecurring.PaymentDate)+\" \")])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.cancelRecurringChanges()}}},[_vm._v(\"Cancel\")])],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled},on:{\"click\":function($event){return _vm.modifyRecurringChanges()}}},[_vm._v(\"Modify\")])],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled},on:{\"click\":function($event){return _vm.optOutRecurringChanges()}}},[_vm._v(\"Opt Out\")])],1)],1)],1):_vm._e(),(_vm.showForm)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-darker-blue text-uppercase\"},[_vm._v(\" Modify AssurancePay® Recurring Payments \")])])],1),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [_c('v-form',{ref:\"assurancePayForm\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.saveRecurringChanges)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|full_name_alpha_only|min:4|max:60\",\"minlength\":\"4\",\"maxlength\":\"60\",\"label\":\"Name on Bank Account\"},model:{value:(_vm.assurancePayForm.accountName),callback:function ($$v) {_vm.$set(_vm.assurancePayForm, \"accountName\", $$v)},expression:\"assurancePayForm.accountName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"routing_number|required|numeric|min:4|max:10\",\"minlength\":\"4\",\"maxlength\":\"10\",\"label\":\"Bank Routing Number\",\"type\":\"number\"},on:{\"blur\":function($event){return _vm.getBankName()}},model:{value:(_vm.assurancePayForm.routingNumber),callback:function ($$v) {_vm.$set(_vm.assurancePayForm, \"routingNumber\", $$v)},expression:\"assurancePayForm.routingNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required\",\"label\":\"Bank Name\",\"disabled\":\"\"},model:{value:(_vm.assurancePayForm.bankName),callback:function ($$v) {_vm.$set(_vm.assurancePayForm, \"bankName\", $$v)},expression:\"assurancePayForm.bankName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|confirmed:account|min:4|max:17\",\"minlength\":\"4\",\"maxlength\":\"17\",\"label\":\"Bank Account Number\"},model:{value:(_vm.assurancePayForm.accountNumber),callback:function ($$v) {_vm.$set(_vm.assurancePayForm, \"accountNumber\", $$v)},expression:\"assurancePayForm.accountNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:4|max:17\",\"minlength\":\"4\",\"maxlength\":\"17\",\"label\":\"Confirm Bank Account Number\",\"vid\":\"account\"},model:{value:(_vm.assurancePayForm.confirmAccountNumber),callback:function ($$v) {_vm.$set(_vm.assurancePayForm, \"confirmAccountNumber\", $$v)},expression:\"assurancePayForm.confirmAccountNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required|alpha\",\"label\":\"Bank Account Type\",\"items\":_vm.accountTypeOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\"},model:{value:(_vm.assurancePayForm.accountType),callback:function ($$v) {_vm.$set(_vm.assurancePayForm, \"accountType\", $$v)},expression:\"assurancePayForm.accountType\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required|numeric\",\"label\":\"Requested Draft Day\",\"items\":_vm.draftDayList},model:{value:(_vm.assurancePayForm.draftDay),callback:function ($$v) {_vm.$set(_vm.assurancePayForm, \"draftDay\", $$v)},expression:\"assurancePayForm.draftDay\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('keep-alive',[_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required\",\"name\":\"confirmation\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid, required }){return [_c('v-checkbox',{attrs:{\"error-messages\":errors,\"success\":valid,\"type\":\"checkbox\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [(_vm.changeType.toLowerCase() === 'signup')?_c('span',[_vm._v(\" I have read and agree to the \"),_c('a',{attrs:{\"href\":\"/consumerdocuments/recurring%20payments%20terms%20and%20conditions.pdf\",\"id\":\"assurance-paper-terms\",\"target\":\"_blank\",\"title\":\"AssurancePay Terms and Conditions\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(\"Terms and Conditions\")]),_vm._v(\" for AssurancePay® Recurring Premium Payments via Electronic Funds Transfer (EFT.) I authorize the Texas Farm Bureau Underwriters, Texas Farm Bureau Casualty Insurance Company, Farm Bureau County Mutual Insurance Company of Texas, or Texas Farm Bureau Mutual Insurance Company, as the Companies issuing the policy described above, to initiate through the designated financial entity the appropriate entries to transfer premium payments. I understand I am responsible for paying any paper billings I may already have received or receive prior to receiving a recurring payment schedule. \")]):_c('span',[_vm._v(\" I am authorizing Texas Farm Bureau Insurance Companies to deduct my premium payments from the bank above. I understand that the original AssurancePay® Recurring Electronic Funds Transfer (EFT) Terms of Agreement are still in force in accordance with the original AssurancePay® Enrollment Form which I previously signed and that I must allow a reasonable time for processing this change. \")])]},proxy:true},{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.assurancePayForm.confirmation),callback:function ($$v) {_vm.$set(_vm.assurancePayForm, \"confirmation\", $$v)},expression:\"assurancePayForm.confirmation\"}})]}}],null,true)})],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.cancelRecurringChanges()}}},[_vm._v(\"Cancel\")])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\"Submit\")])],1)],1)],1)]}}],null,false,700315835)})],1):_vm._e(),(_vm.showOptOut)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-darker-blue text-uppercase\"},[_vm._v(\" AssurancePay® Recurring Payments Opt-Out \")])])],1),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [_c('v-form',{ref:\"optOutForm\",attrs:{\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.saveRecurringOptOut)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" Acknowledge the statement below and click the Submit button to confirm removing AssurancePay® Recurring Payments from your policy. Clicking Cancel will terminate your request and return you to the Account Summary screen. \")])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('keep-alive',[_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required\",\"name\":\"confirmation\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid, required }){return [_c('v-checkbox',{attrs:{\"error-messages\":errors,\"success\":valid,\"type\":\"checkbox\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_vm._v(\" I am authorizing Texas Farm Bureau Insurance Companies to remove my bill account from AssurancePay® Recurring Payments. I understand that I will be receiving billing statements and will be responsible for paying the amount due as stated on each statement. I understand that the original AssurancePay® Recurring Electronic Funds Transfer (EFT) Terms of Agreement are still in force in accordance with the original AssurancePay® Enrollment Form which I previously signed and that I must allow a reasonable time for processing this change. \")]},proxy:true},{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.optOutForm.confirmation),callback:function ($$v) {_vm.$set(_vm.optOutForm, \"confirmation\", $$v)},expression:\"optOutForm.confirmation\"}})]}}],null,true)})],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.cancelRecurringChanges()}}},[_vm._v(\"Cancel\")])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\"Submit\")])],1)],1)],1)]}}],null,false,1332655000)})],1):_vm._e(),(_vm.showFinal)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-darker-blue text-uppercase\"},[_vm._v(\" Confirmation \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"tfb-title-text-smaller\"},[_vm._v(\"Your AssurancePay® request has been submitted.\")])])],1),_c('v-row',[(_vm.changeType.toLowerCase() === 'signup')?_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" Once processed, you will receive a Recurring Payment Schedule for your installments.\"),_c('br'),_vm._v(\" Please continue to pay any bill statements until you receive your Recurring Payment Schedule. \")]):_vm._e(),(!_vm.showOptOut && _vm.changeType.toLowerCase() === 'change')?_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" We will process this request as quickly as possible. However, due to the time required to process this request, your Recurring Payments through AssurancePay® may not be changed before your next scheduled draft. The time required to change the drafts varies for different financial institutions and may also be affected by weekends and holidays. Stay in communication with your financial institution and your agent to be sure when this request goes into effect. Once processed, you will receive an updated Recurring Payment Schedule. \")]):_vm._e(),(_vm.showOptOut)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" We will process this request as quickly as possible. However, due to the time required to process this request, your Recurring Payments through AssurancePay® may not be stopped before your next scheduled draft. The time required to stop the drafts varies for different financial institutions and may also be affected by weekends and holidays. Stay in communication with your financial institution and your agent to be sure when this request goes into effect. Once processed, you will begin receiving statements for your installments. \")]):_vm._e()],1),_c('v-row',[(_vm.showOptOut)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" Thank you for choosing Texas Farm Bureau Insurance Companies. \")]):_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" Thank you for choosing the AssurancePay® Recurring EFT Payment plan. \")])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.cancelRecurringChanges()}}},[_vm._v(\"Return to Account Summary\")])],1)],1)],1):_vm._e()],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-container\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"drop-shadow background-white tfb-smaller-container\">\r\n <v-row v-if=\"!showFinal && !showOptOut && !showForm\">\r\n <v-col cols=\"12\">\r\n <p v-if=\"changeType === 'signup'\">\r\n AssurancePay® Recurring Payments must be setup at least five (5) business days prior to your next due date.<br /><br />\r\n Any billed installments on your account will need to be paid before automatic drafting will begin.\r\n </p>\r\n <p v-else>\r\n Your bill account is currently being paid by Recurring Payments drawn from your bank account. From this screen you have\r\n options to modify your AssurancePay settings, or cancel your Assurance Pay recurring payments.<br /><br />\r\n Submissions must be at least five (5) business days prior to the next draft date as shown on the Recurring Payment Schedule.\r\n Changes submitted may not take effect until the next billing cycle.\r\n </p>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"recurringRequest && recurringRequest !== null\"\r\n class=\"mt-1\">\r\n <v-col cols=\"5\"\r\n class=\"py-1\"><span class=\"font-weight-bold\">Policy Number:</span></v-col>\r\n <v-col cols=\"7\"\r\n class=\"py-1\">\r\n {{recurringRequest.PolicyNumber}}\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"recurringRequest && recurringRequest !== null\">\r\n <v-col cols=\"5\"\r\n class=\"py-1\"><span class=\"font-weight-bold\">Policy Holder Name:</span></v-col>\r\n <v-col cols=\"7\"\r\n class=\"py-1\">\r\n {{recurringRequest.InsuredName}}\r\n </v-col>\r\n </v-row>\r\n <div v-if=\"showCurrent && currentRecurring !== null\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"mt-3 pb-0\">\r\n <h2 class=\"tfb-title-text-small text-darker-blue text-uppercase\">\r\n Current AssurancePay® Information\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n <!-- Display current information -->\r\n <v-row>\r\n <v-col cols=\"5\"\r\n class=\"py-1\"><span class=\"font-weight-bold\">Name on Bank Account:</span></v-col>\r\n <v-col cols=\"7\"\r\n class=\"py-1\">\r\n {{currentRecurring.PolicyholderName}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"5\"\r\n class=\"py-1\"><span class=\"font-weight-bold\">Bank Name:</span></v-col>\r\n <v-col cols=\"7\"\r\n class=\"py-1\">\r\n {{currentRecurring.BankName}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"5\"\r\n class=\"py-1\"><span class=\"font-weight-bold\">Bank Routing Number:</span></v-col>\r\n <v-col cols=\"7\"\r\n class=\"py-1\">\r\n {{currentRecurring.MaskedRoutingNumber}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"5\"\r\n class=\"py-1\"><span class=\"font-weight-bold\">Bank Account Number:</span></v-col>\r\n <v-col cols=\"7\"\r\n class=\"py-1\">\r\n {{currentRecurring.MaskedAccountNumber}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"5\"\r\n class=\"py-1\"><span class=\"font-weight-bold\">Type of Account:</span></v-col>\r\n <v-col cols=\"7\"\r\n class=\"py-1\">\r\n {{currentRecurring.FullAccountType}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"5\"\r\n class=\"py-1\"><span class=\"font-weight-bold\">Requested Draft Day:</span></v-col>\r\n <v-col cols=\"7\"\r\n class=\"py-1\">\r\n {{currentRecurring.PaymentDate}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"4\">\r\n <v-btn block\r\n @click=\"cancelRecurringChanges()\"\r\n class=\"tfb-button background-red\">Cancel</v-btn>\r\n </v-col>\r\n <v-col cols=\"4\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n @click=\"modifyRecurringChanges()\"\r\n class=\"tfb-button background-red\">Modify</v-btn>\r\n </v-col>\r\n <v-col cols=\"4\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n @click=\"optOutRecurringChanges()\"\r\n class=\"tfb-button background-red\">Opt Out</v-btn>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <div v-if=\"showForm\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-small text-darker-blue text-uppercase\">\r\n Modify AssurancePay® Recurring Payments\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n <!-- Display pre-filled form -->\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form ref=\"assurancePayForm\"\r\n @submit.stop.prevent=\"handleSubmit(saveRecurringChanges)\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|full_name_alpha_only|min:4|max:60\"\r\n minlength=\"4\"\r\n maxlength=\"60\"\r\n label=\"Name on Bank Account\"\r\n v-model=\"assurancePayForm.accountName\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"routing_number|required|numeric|min:4|max:10\"\r\n minlength=\"4\"\r\n maxlength=\"10\"\r\n label=\"Bank Routing Number\"\r\n @blur=\"getBankName()\"\r\n type=\"number\"\r\n v-model=\"assurancePayForm.routingNumber\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required\"\r\n label=\"Bank Name\"\r\n disabled\r\n v-model=\"assurancePayForm.bankName\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|confirmed:account|min:4|max:17\"\r\n minlength=\"4\"\r\n maxlength=\"17\"\r\n label=\"Bank Account Number\"\r\n v-model=\"assurancePayForm.accountNumber\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:4|max:17\"\r\n minlength=\"4\"\r\n maxlength=\"17\"\r\n label=\"Confirm Bank Account Number\"\r\n v-model=\"assurancePayForm.confirmAccountNumber\"\r\n vid=\"account\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required|alpha\"\r\n label=\"Bank Account Type\"\r\n :items=\"accountTypeOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"assurancePayForm.accountType\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required|numeric\"\r\n label=\"Requested Draft Day\"\r\n :items=\"draftDayList\"\r\n v-model=\"assurancePayForm.draftDay\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <keep-alive>\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required\"\r\n name=\"confirmation\"\r\n v-slot=\"{ errors, valid, required }\">\r\n <v-checkbox v-model=\"assurancePayForm.confirmation\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n type=\"checkbox\">\r\n <template v-slot:label>\r\n <span v-if=\"changeType.toLowerCase() === 'signup'\">\r\n I have read and agree to the <a href=\"/consumerdocuments/recurring%20payments%20terms%20and%20conditions.pdf\"\r\n id=\"assurance-paper-terms\"\r\n target=\"_blank\"\r\n @click.stop\r\n title=\"AssurancePay Terms and Conditions\">Terms and Conditions</a>\r\n for AssurancePay® Recurring Premium Payments via Electronic Funds Transfer (EFT.)\r\n I authorize the Texas Farm Bureau Underwriters, Texas Farm Bureau Casualty Insurance Company, Farm Bureau County Mutual Insurance\r\n Company of Texas, or Texas Farm Bureau Mutual Insurance Company, as the Companies issuing the policy described above, to initiate\r\n through the designated financial entity the appropriate entries to transfer premium payments.\r\n I understand I am responsible for paying any paper billings I may already have received or receive prior to receiving a recurring payment schedule.\r\n </span>\r\n <span v-else>\r\n I am authorizing Texas Farm Bureau Insurance Companies to deduct my premium payments from the bank above.\r\n I understand that the original AssurancePay® Recurring Electronic Funds Transfer (EFT) Terms of Agreement are still in force in\r\n accordance with the original AssurancePay® Enrollment Form which I previously signed and that I must allow a reasonable time for\r\n processing this change.\r\n </span>\r\n </template>\r\n <template v-slot:append>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-checkbox>\r\n </ValidationProvider>\r\n </keep-alive>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n @click=\"cancelRecurringChanges()\"\r\n class=\"tfb-button background-red\">Cancel</v-btn>\r\n </v-col>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Submit</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </div>\r\n <div v-if=\"showOptOut\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-small text-darker-blue text-uppercase\">\r\n AssurancePay® Recurring Payments Opt-Out\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n <!-- Display pre-filled form -->\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form ref=\"optOutForm\"\r\n @submit.stop.prevent=\"handleSubmit(saveRecurringOptOut)\"\r\n lazy-validation>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n Acknowledge the statement below and click the Submit button to confirm removing AssurancePay® Recurring Payments from your policy. Clicking\r\n Cancel will terminate your request and return you to the Account Summary screen.\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <keep-alive>\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required\"\r\n name=\"confirmation\"\r\n v-slot=\"{ errors, valid, required }\">\r\n <v-checkbox v-model=\"optOutForm.confirmation\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n type=\"checkbox\">\r\n <template v-slot:label>\r\n I am authorizing Texas Farm Bureau Insurance Companies to remove my bill account from AssurancePay® Recurring Payments.\r\n I understand that I will be receiving billing statements and will be responsible for paying the amount due as stated on each statement.\r\n I understand that the original AssurancePay® Recurring Electronic Funds Transfer (EFT) Terms of Agreement are still in force in\r\n accordance with the original AssurancePay® Enrollment Form which I previously signed and that I must allow a reasonable time for\r\n processing this change.\r\n </template>\r\n <template v-slot:append>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-checkbox>\r\n </ValidationProvider>\r\n </keep-alive>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n @click=\"cancelRecurringChanges()\"\r\n class=\"tfb-button background-red\">Cancel</v-btn>\r\n </v-col>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Submit</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </div>\r\n <div v-if=\"showFinal\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-small text-darker-blue text-uppercase\">\r\n Confirmation\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h3 class=\"tfb-title-text-smaller\">Your AssurancePay® request has been submitted.</h3>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\" v-if=\"changeType.toLowerCase() === 'signup'\">\r\n Once processed, you will receive a Recurring Payment Schedule for your installments.<br />\r\n Please continue to pay any bill statements until you receive your Recurring Payment Schedule.\r\n </v-col>\r\n <v-col cols=\"12\" v-if=\"!showOptOut && changeType.toLowerCase() === 'change'\">\r\n We will process this request as quickly as possible. However, due to the time required to process this request, your\r\n Recurring Payments through AssurancePay® may not be changed before your next scheduled draft. The time\r\n required to change the drafts varies for different financial institutions and may also be affected by weekends and\r\n holidays. Stay in communication with your financial institution and your agent to be sure when this request goes\r\n into effect. Once processed, you will receive an updated Recurring Payment Schedule.\r\n </v-col>\r\n <v-col cols=\"12\" v-if=\"showOptOut\">\r\n We will process this request as quickly as possible. However, due to the time required to process this request, your\r\n Recurring Payments through AssurancePay® may not be stopped before your next scheduled draft. The time\r\n required to stop the drafts varies for different financial institutions and may also be affected by weekends and\r\n holidays. Stay in communication with your financial institution and your agent to be sure when this request goes\r\n into effect. Once processed, you will begin receiving statements for your installments.\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\" v-if=\"showOptOut\">\r\n Thank you for choosing Texas Farm Bureau Insurance Companies.\r\n </v-col>\r\n <v-col cols=\"12\" v-else>\r\n Thank you for choosing the AssurancePay® Recurring EFT Payment plan.\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n @click=\"cancelRecurringChanges()\"\r\n class=\"tfb-button background-red\">Return to Account Summary</v-btn>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import { ValidationObserver, ValidationProvider } from 'vee-validate';\r\n import tfbMetaInfo from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import { insuredAccessOnlyErrorMessage } from '@/mixins/errorMessages';\r\n\r\n export default {\r\n name: 'RecurringPayments',\r\n props: {\r\n changeType: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbMetaInfo, tfbHelperMixin],\r\n components: {\r\n ValidationObserver,\r\n ValidationProvider,\r\n },\r\n data() {\r\n return {\r\n formDisabled: false,\r\n bankLoading: false,\r\n showOptOut: false,\r\n showCurrent: false,\r\n showForm: false,\r\n showFinal: false,\r\n currentRecurring: null,\r\n assurancePayForm: {\r\n accountName: null,\r\n draftDay: 15,\r\n routingNumber: null,\r\n bankName: null,\r\n accountNumber: null,\r\n confirmAccountNumber: null,\r\n accountType: null,\r\n },\r\n optOutForm: {\r\n },\r\n accountTypeOptions: [{ Value: 'CH', DisplayText: 'Checking' }, { Value: 'SA', DisplayText: 'Savings' }],\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'AssurancePay Recurring Payments | PolicyHolder';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/payments/recurring-payments/${this.changeType}`;\r\n },\r\n emailAddress() {\r\n try {\r\n return this.$store.getters['member/emailAddress'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n agentId() {\r\n try {\r\n return this.$store.getters['member/agentNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n memberNumber() {\r\n try {\r\n return this.$store.getters['member/memberNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n recurringRequest() {\r\n try {\r\n return this.$store.getters['payments/recurringRequest'];\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n draftDayList() {\r\n const dayList = [];\r\n for (let i = 1; i <= 28; i += 1) {\r\n dayList.push(i);\r\n }\r\n\r\n return dayList;\r\n },\r\n },\r\n methods: {\r\n getBankName() {\r\n this.bankLoading = true;\r\n dispatch('payments/validateRoutingNumber', {\r\n sRoutingNumber: this.assurancePayForm.routingNumber, sTfbId: this.trackingId,\r\n })\r\n .then((validationResult) => {\r\n this.assurancePayForm.bankName = validationResult;\r\n if (!validationResult || validationResult === '') {\r\n this.assurancePayForm.routingNumber = null;\r\n }\r\n this.bankLoading = false;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('Request failed with status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n } else {\r\n dispatch('app/setErrorMessage', error.toString());\r\n }\r\n this.bankLoading = false;\r\n });\r\n },\r\n cancelRecurringChanges() {\r\n // Clear the request\r\n this.$store.commit('payments/SET_RECURRING_REQUEST', null);\r\n // Go back to Summary screen\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n },\r\n modifyRecurringChanges() {\r\n this.showOptOut = false;\r\n this.showCurrent = false;\r\n this.showForm = true;\r\n },\r\n optOutRecurringChanges() {\r\n this.showOptOut = true;\r\n this.showCurrent = false;\r\n this.showForm = false;\r\n },\r\n saveRecurringChanges() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `${this.recurringRequest.PolicyNumber}-${this.memberNumber}-${this.changeType.toLowerCase()}`,\r\n fileName: 'RecurringPayments.vue',\r\n methodName: 'saveRecurringChanges-Start',\r\n trackerId: this.trackingId,\r\n });\r\n\r\n dispatch('payments/modifyRecurringPayments', {\r\n sAccountType: this.assurancePayForm.accountType,\r\n sAgentId: this.agentId,\r\n sAccountNumber: this.assurancePayForm.accountNumber,\r\n sBankName: this.assurancePayForm.bankName,\r\n sEffectiveDate: this.recurringRequest.EffectiveDate,\r\n sEmailAddress: this.emailAddress,\r\n sMemberNumber: this.memberNumber,\r\n sPaymentDate: this.assurancePayForm.draftDay,\r\n sPolicyNumber: this.recurringRequest.PolicyNumber,\r\n sPolicySubType: this.recurringRequest.PolicySubType,\r\n sPolicyType: this.recurringRequest.PolicyType,\r\n sPolicyholderName: this.assurancePayForm.accountName,\r\n sRequestType: this.changeType.toLowerCase() === 'signup' ? 0 : 1,\r\n sRoutingNumber: this.assurancePayForm.routingNumber,\r\n sTfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `${this.recurringRequest.PolicyNumber}-${this.memberNumber}-${this.changeType.toLowerCase()}`,\r\n fileName: 'RecurringPayments.vue',\r\n methodName: 'modifyRecurringPayments-Response',\r\n trackerId: this.trackingId,\r\n });\r\n this.showCurrent = false;\r\n this.showFinal = true;\r\n this.showForm = false;\r\n this.showOptOut = false;\r\n // Clear the request\r\n this.$store.commit('payments/SET_RECURRING_REQUEST', null);\r\n dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'RecurringPayments.vue',\r\n methodName: 'modifyRecurringPayments-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n if (error.toString().indexOf('Request failed with status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n }\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n saveRecurringOptOut() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `${this.recurringRequest.PolicyNumber}-${this.memberNumber}-${this.changeType.toLowerCase()}`,\r\n fileName: 'RecurringPayments.vue',\r\n methodName: 'saveRecurringOptOut-Start',\r\n trackerId: this.trackingId,\r\n });\r\n\r\n dispatch('payments/modifyRecurringPayments', {\r\n sAccountType: this.currentRecurring.AccountType,\r\n sAgentId: this.agentId,\r\n sAccountNumber: this.currentRecurring.AccountNumber,\r\n sBankName: this.currentRecurring.BankName,\r\n sEffectiveDate: this.recurringRequest.EffectiveDate,\r\n sEmailAddress: this.emailAddress,\r\n sMemberNumber: this.memberNumber,\r\n sPaymentDate: this.currentRecurring.PaymentDate,\r\n sPolicyNumber: this.recurringRequest.PolicyNumber,\r\n sPolicySubType: this.recurringRequest.PolicySubType,\r\n sPolicyType: this.recurringRequest.PolicyType,\r\n sPolicyholderName: this.currentRecurring.PolicyholderName,\r\n sRequestType: 2,\r\n sRoutingNumber: this.currentRecurring.RoutingNumber,\r\n sTfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `${this.recurringRequest.PolicyNumber}-${this.memberNumber}-${this.changeType.toLowerCase()}`,\r\n fileName: 'RecurringPayments.vue',\r\n methodName: 'modifyRecurringPayments-Response',\r\n trackerId: this.trackingId,\r\n });\r\n this.showCurrent = false;\r\n this.showFinal = true;\r\n this.showForm = false;\r\n this.showOptOut = false;\r\n // Clear the request\r\n this.$store.commit('payments/SET_RECURRING_REQUEST', null);\r\n dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'RecurringPayments.vue',\r\n methodName: 'modifyRecurringPayments-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n if (error.toString().indexOf('Request failed with status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError);\r\n });\r\n } else {\r\n dispatch('app/setErrorMessage', error);\r\n dispatch('app/setIsLoading', false);\r\n }\r\n });\r\n },\r\n },\r\n mounted() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n dispatch('app/doApplicationCheck', { sApplicationName: 'AssurancePay', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus === '') {\r\n if (!this.isLoggedIn) {\r\n // Invalid login - go back to login screen\r\n this.$router.push({ name: 'policyholderLogin' });\r\n } else if (!this.isMemberRole) {\r\n // Not the member, don't allow changes\r\n this.$store.dispatch('app/setErrorMessage', insuredAccessOnlyErrorMessage);\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n } else if (!this.recurringRequest || this.recurringRequest === null) {\r\n // No request values, push back to Summary screen\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n }\r\n\r\n if (this.changeType.toLowerCase() === 'signup') {\r\n this.showForm = true;\r\n this.assurancePayForm.accountName = this.recurringRequest.InsuredName;\r\n } else if (this.changeType.toLowerCase() === 'change') {\r\n // Get the existing AssurancePay information\r\n this.showCurrent = true;\r\n dispatch('payments/getRecurringPaymentInfo', {\r\n sPolicyNumber: this.recurringRequest.PolicyNumber, sTfbId: this.trackingId,\r\n })\r\n .then((recurringResult) => {\r\n this.currentRecurring = recurringResult;\r\n this.assurancePayForm.accountName = recurringResult.PolicyholderName;\r\n this.assurancePayForm.bankName = recurringResult.BankName;\r\n this.assurancePayForm.routingNumber = recurringResult.RoutingNumber;\r\n this.assurancePayForm.accountType = recurringResult.AccountType;\r\n this.assurancePayForm.draftDay = recurringResult.PaymentDate;\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n } else {\r\n // Invalid change type, push back to Summary screen\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n }\r\n\r\n dispatch('app/setIsLoading', false);\r\n } else {\r\n dispatch('app/setErrorMessage', returnedStatus);\r\n dispatch('app/setIsLoading', false);\r\n this.formDisabled = true;\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecurringPayments.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecurringPayments.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RecurringPayments.vue?vue&type=template&id=7565d9ff\"\nimport script from \"./RecurringPayments.vue?vue&type=script&lang=js\"\nexport * from \"./RecurringPayments.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"drop-shadow background-white tfb-smaller-container\",attrs:{\"fluid\":\"\"}},[_c('iframe',{staticClass:\"autopayIFrame\",attrs:{\"src\":_vm.autopayIFrameUrl,\"title\":\"AutoPay Settings\"}})])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-container\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"drop-shadow background-white tfb-smaller-container\">\r\n <iframe :src=\"autopayIFrameUrl\"\r\n title=\"AutoPay Settings\"\r\n class=\"autopayIFrame\"></iframe>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import tfbMetaInfo from '@/mixins/metaInfo';\r\n\r\n export default {\r\n name: 'InvoiceCloudAutoPay',\r\n mixins: [tfbMetaInfo],\r\n computed: {\r\n metaPageTitle() {\r\n return 'AutoPayments | PolicyHolder';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/payments/auto-pay`;\r\n },\r\n remoteAuthenticationToken() {\r\n try {\r\n return this.$store.getters['member/invoiceCloudToken'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n autopayIFrameUrl() {\r\n try {\r\n if (!this.isMemberRole && this.remoteAuthenticationToken && this.remoteAuthenticationToken !== null && this.remoteAuthenticationToken !== '') {\r\n // Not the member, don't allow changes\r\n return `${this.$store.getters['app/invoiceCloudIFrameUrl']}?RemoteAuthenticationToken=${this.remoteAuthenticationToken}&ViewMode=1&RedirectID=3`;\r\n }\r\n\r\n return '';\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'Policyholder', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus === '') {\r\n const includedToken = this.$route.query.access_token;\r\n this.$store.dispatch('member/validateLogin', { sToken: includedToken, sTfbId: this.trackingId })\r\n .then((loginValid) => {\r\n if (loginValid) {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } else {\r\n this.$store.dispatch('member/doLogout')\r\n .then(() => {\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', returnedStatus);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .autopayIFrame iframe {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .autopayIFrame {\r\n width: 100%;\r\n height: 500px;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceCloudAutoPay.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceCloudAutoPay.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoiceCloudAutoPay.vue?vue&type=template&id=348795ce\"\nimport script from \"./InvoiceCloudAutoPay.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceCloudAutoPay.vue?vue&type=script&lang=js\"\nimport style0 from \"./InvoiceCloudAutoPay.vue?vue&type=style&index=0&id=348795ce&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"drop-shadow background-white tfb-smaller-container\",attrs:{\"fluid\":\"\"}},[_c('iframe',{staticClass:\"paymentMethodsIFrame\",attrs:{\"src\":_vm.storedPaymentIFrameUrl,\"title\":\"Stored Payment Methods\"}})])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-container\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"drop-shadow background-white tfb-smaller-container\">\r\n <iframe :src=\"storedPaymentIFrameUrl\"\r\n title=\"Stored Payment Methods\"\r\n class=\"paymentMethodsIFrame\"></iframe>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import tfbMetaInfo from '@/mixins/metaInfo';\r\n\r\n export default {\r\n name: 'InvoiceCloudPaymentMethods',\r\n mixins: [tfbMetaInfo],\r\n computed: {\r\n metaPageTitle() {\r\n return 'Stored Payment Methods | PolicyHolder';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/payments/stored-methods`;\r\n },\r\n remoteAuthenticationToken() {\r\n try {\r\n return this.$store.getters['member/invoiceCloudToken'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n storedPaymentIFrameUrl() {\r\n try {\r\n if (!this.isMemberRole && this.remoteAuthenticationToken && this.remoteAuthenticationToken !== null && this.remoteAuthenticationToken !== '') {\r\n // Not the member, don't allow changes\r\n return `${this.$store.getters['app/invoiceCloudIFrameUrl']}?RemoteAuthenticationToken=${this.remoteAuthenticationToken}&ViewMode=1&RedirectID=5`;\r\n }\r\n\r\n return '';\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'Policyholder', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus === '') {\r\n const includedToken = this.$route.query.access_token;\r\n this.$store.dispatch('member/validateLogin', { sToken: includedToken, sTfbId: this.trackingId })\r\n .then((loginValid) => {\r\n if (loginValid) {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } else {\r\n this.$store.dispatch('member/doLogout')\r\n .then(() => {\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', returnedStatus);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .paymentMethodsIFrame iframe {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .paymentMethodsIFrame {\r\n width: 100%;\r\n height: 500px;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceCloudPaymentMethods.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceCloudPaymentMethods.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoiceCloudPaymentMethods.vue?vue&type=template&id=9af47124\"\nimport script from \"./InvoiceCloudPaymentMethods.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceCloudPaymentMethods.vue?vue&type=script&lang=js\"\nimport style0 from \"./InvoiceCloudPaymentMethods.vue?vue&type=style&index=0&id=9af47124&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-container\",attrs:{\"fluid\":\"\"}},[_c('span',{staticClass:\"tfb-title-text-medium text-darker-blue text-uppercase\"},[_vm._v(\"Account Bill\")]),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"drop-shadow background-white tfb-smaller-container\",attrs:{\"fluid\":\"\"}},[(!_vm.showReview && !_vm.showConfirmation)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('p',[_vm._v(\" In order to enroll in Texas Farm Bureau Insurance Account Bill, please read the \"),_c('a',{attrs:{\"href\":\"/consumerdocuments/accountbilltermsandconditions.pdf\",\"id\":\"account-bill-terms\",\"target\":\"_blank\",\"title\":\"Account Bill Terms and Conditions\"}},[_vm._v(\"Terms and Conditions\")]),_vm._v(\", then complete and submit this Authorization and Agreement for Account Bill. \"),_c('i',[_vm._v(\" You must continue to pay any billing statements you receive by mail or email until your Account Bill application is completed and accepted and you receive your first Account Bill statement. \")])])])],1),(_vm.policyListLoading)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"loading\":_vm.policyListLoading,\"type\":\"table\"}})],1)],1):_vm._e(),_c('ValidationObserver',{ref:\"obvenr\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [(!_vm.policyListLoading)?_c('v-simple-table',{attrs:{\"dense\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(\"Enroll\")]),_c('th',[_vm._v(\"Policy Type\")]),_c('th',[_vm._v(\"Policy Number\")])])]),_c('ValidationProvider',{attrs:{\"tag\":\"tbody\",\"name\":\"policy\",\"rules\":\"required|min_length:2\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_vm._l((_vm.accountBillEligible),function(policy){return _c('tr',{key:policy.PolicyNumber},[_c('td',[_c('v-checkbox',{attrs:{\"value\":policy},model:{value:(_vm.enrollForm.accountBillArray),callback:function ($$v) {_vm.$set(_vm.enrollForm, \"accountBillArray\", $$v)},expression:\"enrollForm.accountBillArray\"}})],1),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(policy.PolicyDescription)}})]),_c('td',[_vm._v(_vm._s(policy.PolicyNumber))])])}),_c('tr',[_c('td',{staticClass:\"v-messages theme--light error--text\",attrs:{\"colspan\":\"3\"}},[_vm._v(_vm._s(errors[0]))])])]}}],null,true)})]},proxy:true}],null,true)}):_vm._e(),_c('required-fields-row'),_c('v-form',{ref:\"enrollForm\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.reviewAccountBillChanges)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|name|min:2|max:25\",\"minlength\":\"2\",\"maxlength\":\"25\",\"label\":\"First Name\",\"autocomplete\":\"shipping given-name\",\"autocapitalize\":\"words\"},model:{value:(_vm.enrollForm.firstName),callback:function ($$v) {_vm.$set(_vm.enrollForm, \"firstName\", $$v)},expression:\"enrollForm.firstName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|name|min:2|max:25\",\"minlength\":\"2\",\"maxlength\":\"25\",\"label\":\"Last Name\",\"autocomplete\":\"shipping family-name\",\"autocapitalize\":\"words\"},model:{value:(_vm.enrollForm.lastName),callback:function ($$v) {_vm.$set(_vm.enrollForm, \"lastName\", $$v)},expression:\"enrollForm.lastName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:2|max:250\",\"minlength\":\"2\",\"maxlength\":\"250\",\"label\":\"Address Line 1\",\"autocomplete\":\"shipping address-line1\",\"autocapitalize\":\"words\"},model:{value:(_vm.enrollForm.addressLine1),callback:function ($$v) {_vm.$set(_vm.enrollForm, \"addressLine1\", $$v)},expression:\"enrollForm.addressLine1\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"min:2|max:250\",\"minlength\":\"2\",\"maxlength\":\"250\",\"label\":\"Address Line 2\",\"autocomplete\":\"shipping address-line2\",\"autocapitalize\":\"words\"},model:{value:(_vm.enrollForm.addressLine2),callback:function ($$v) {_vm.$set(_vm.enrollForm, \"addressLine2\", $$v)},expression:\"enrollForm.addressLine2\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:2|max:250\",\"minlength\":\"2\",\"maxlength\":\"250\",\"label\":\"City\",\"autocomplete\":\"shipping address-level2\",\"autocapitalize\":\"words\"},model:{value:(_vm.enrollForm.city),callback:function ($$v) {_vm.$set(_vm.enrollForm, \"city\", $$v)},expression:\"enrollForm.city\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required|alpha\",\"label\":\"State\",\"items\":_vm.stateList,\"item-text\":\"StateName\",\"item-value\":\"StateCode\"},model:{value:(_vm.enrollForm.state),callback:function ($$v) {_vm.$set(_vm.enrollForm, \"state\", $$v)},expression:\"enrollForm.state\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"County\",\"items\":_vm.countyOptions,\"item-text\":\"_countyName\",\"item-value\":\"_countyName\"},model:{value:(_vm.enrollForm.county),callback:function ($$v) {_vm.$set(_vm.enrollForm, \"county\", $$v)},expression:\"enrollForm.county\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|numeric|min:5|max:5\",\"minlength\":\"5\",\"maxlength\":\"5\",\"label\":\"ZIP Code\",\"type\":\"number\",\"autocomplete\":\"shipping postal-code\"},model:{value:(_vm.enrollForm.zipCode),callback:function ($$v) {_vm.$set(_vm.enrollForm, \"zipCode\", $$v)},expression:\"enrollForm.zipCode\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required|numeric\",\"label\":\"Requested Draft Day\",\"items\":_vm.draftDayList},model:{value:(_vm.enrollForm.draftDay),callback:function ($$v) {_vm.$set(_vm.enrollForm, \"draftDay\", $$v)},expression:\"enrollForm.draftDay\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Would you like to sign up for AssurancePay®?\")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('radio-group-input',{attrs:{\"rules\":\"required\",\"name\":\"AssurancePay enrollment\",\"options\":_vm.yesNoOptions,\"vid\":\"recur\"},model:{value:(_vm.enrollForm.assurancePayFlag),callback:function ($$v) {_vm.$set(_vm.enrollForm, \"assurancePayFlag\", $$v)},expression:\"enrollForm.assurancePayFlag\"}})],1)],1),(_vm.enrollForm.assurancePayFlag === 'Y')?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required_if:recur,Y|min:4|max:60\",\"minlength\":\"4\",\"maxlength\":\"60\",\"label\":\"Name on Bank Account\"},model:{value:(_vm.enrollForm.accountName),callback:function ($$v) {_vm.$set(_vm.enrollForm, \"accountName\", $$v)},expression:\"enrollForm.accountName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"routing_number|required_if:recur,Y|numeric|min:4|max:10\",\"minlength\":\"4\",\"maxlength\":\"10\",\"label\":\"Bank Routing Number\",\"type\":\"number\"},on:{\"blur\":function($event){return _vm.getBankName()}},model:{value:(_vm.enrollForm.routingNumber),callback:function ($$v) {_vm.$set(_vm.enrollForm, \"routingNumber\", $$v)},expression:\"enrollForm.routingNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required_if:recur,Y\",\"label\":\"Bank Name\",\"disabled\":\"\"},model:{value:(_vm.enrollForm.bankName),callback:function ($$v) {_vm.$set(_vm.enrollForm, \"bankName\", $$v)},expression:\"enrollForm.bankName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required_if:recur,Y|confirmed:account|min:4|max:17\",\"minlength\":\"4\",\"maxlength\":\"17\",\"label\":\"Bank Account Number\"},model:{value:(_vm.enrollForm.accountNumber),callback:function ($$v) {_vm.$set(_vm.enrollForm, \"accountNumber\", $$v)},expression:\"enrollForm.accountNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required_if:recur,Y|min:4|max:17\",\"minlength\":\"4\",\"maxlength\":\"17\",\"label\":\"Confirm Bank Account Number\",\"vid\":\"account\"},model:{value:(_vm.enrollForm.confirmAccountNumber),callback:function ($$v) {_vm.$set(_vm.enrollForm, \"confirmAccountNumber\", $$v)},expression:\"enrollForm.confirmAccountNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required_if:recur,Y\",\"label\":\"Bank Account Type\",\"items\":_vm.accountTypeOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"return-object\":\"\"},model:{value:(_vm.enrollForm.accountType),callback:function ($$v) {_vm.$set(_vm.enrollForm, \"accountType\", $$v)},expression:\"enrollForm.accountType\"}})],1)],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.cancelAccountBillChanges()}}},[_vm._v(\"Cancel\")])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\"Submit\")])],1)],1)],1)]}}],null,false,800173720)})],1):_vm._e(),(_vm.showReview)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('p',[_vm._v(\" Please review the information below. Click the Submit button when you have verified the information captured is correct. If the information below is not correct, please click on the Modify button to revise. Clicking Cancel will terminate your request and return you to the Account Summary screen. \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"dense\":\"\",\"disable-filtering\":\"\",\"disable-pagination\":\"\",\"disable-sort\":\"\",\"headers\":_vm.accountBillHeaders,\"hide-default-footer\":\"\",\"items\":_vm.enrollForm.accountBillArray,\"items-per-page\":10},scopedSlots:_vm._u([{key:\"top\",fn:function(){return [_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\"Policies to enroll:\")])]},proxy:true}],null,false,1084636731)})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"First Name\")])]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.enrollForm.firstName)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Last Name\")])]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.enrollForm.lastName)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Address Line 1\")])]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.enrollForm.addressLine1)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Address Line 2\")])]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.enrollForm.addressLine2)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"City\")])]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.enrollForm.city)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"State\")])]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.enrollForm.state)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"County\")])]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.enrollForm.county)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"ZIP Code\")])]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.enrollForm.zipCode)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Requested Payment Day\")])]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.enrollForm.draftDay)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Sign Up for AssurancePay®?\")])]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.enrollForm.assurancePayFlag)+\" \")])],1),(_vm.enrollForm.assurancePayFlag === 'Y')?_c('div',[_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Name on Bank Account\")])]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.enrollForm.accountName)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Bank Name\")])]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.enrollForm.bankName)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Bank Routing Number\")])]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.enrollForm.MaskedRoutingNumber)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Bank Account Number\")])]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.enrollForm.MaskedAccountNumber)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Type of Account\")])]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.enrollForm.accountType.DisplayText)+\" \")])],1)],1):_vm._e()],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.modifyAccountBillChanges()}}},[_vm._v(\"Modify\")])],1)],1),_c('ValidationObserver',{ref:\"obvconf\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [_c('v-form',{ref:\"reviewForm\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.saveAccountBillChanges)}}},[_c('keep-alive',[_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required\",\"name\":\"abconfirmation\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid, required }){return [_c('v-checkbox',{attrs:{\"error-messages\":errors,\"success\":valid,\"type\":\"checkbox\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('span',[_vm._v(\" I have read and agree to the \"),_c('a',{attrs:{\"href\":\"/consumerdocuments/accountbilltermsandconditions.pdf\",\"id\":\"account-bill-terms\",\"target\":\"_blank\",\"title\":\"Account Bill Terms and Conditions\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(\"Terms and Conditions\")]),_vm._v(\" for Account Bill. I authorize Texas Farm Bureau Mutual Insurance Company, Texas Farm Bureau Underwriters, Texas Farm Bureau Casualty Insurance Company, and/or Farm Bureau County Mutual Insurance Company of Texas (the “Companies”, “us”, or “we”) to apply one payment to multiple policies of insurance. My one payment will be applied to premium owed on all of the policies I list above and any applicable fees, and may be applied to any delinquent Texas Farm Bureau membership dues, in accordance with the Terms and Conditions listed above. \")])]},proxy:true},{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.reviewForm.confirmation),callback:function ($$v) {_vm.$set(_vm.reviewForm, \"confirmation\", $$v)},expression:\"reviewForm.confirmation\"}})]}}],null,true)})],1),(_vm.enrollForm.assurancePayFlag === 'Y')?_c('keep-alive',[_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required\",\"name\":\"apconfirmation\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid, required }){return [_c('v-checkbox',{attrs:{\"error-messages\":errors,\"success\":valid,\"type\":\"checkbox\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('span',[_vm._v(\" I have read and agree to the \"),_c('a',{attrs:{\"href\":\"/consumerdocuments/recurring%20payments%20terms%20and%20conditions.pdf\",\"id\":\"assurance-terms\",\"target\":\"_blank\",\"title\":\"AssurancePay Terms and Conditions\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(\"Terms and Conditions\")]),_vm._v(\" for AssurancePay® Recurring Premium Payments via Electronic Funds Transfer (EFT.) I authorize the Texas Farm Bureau Underwriters, Texas Farm Bureau Casualty Insurance Company, Farm Bureau County Mutual Insurance Company of Texas, or Texas Farm Bureau Mutual Insurance Company, as the Companies issuing the policy described above, to initiate through the designated financial entity the appropriate entries to transfer premium payments. I understand I am responsible for paying any paper billings I may already have received or receive prior to receiving an Account Bill statement. \")])]},proxy:true},{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.reviewForm.assuranceConfirmation),callback:function ($$v) {_vm.$set(_vm.reviewForm, \"assuranceConfirmation\", $$v)},expression:\"reviewForm.assuranceConfirmation\"}})]}}],null,true)})],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.cancelAccountBillChanges()}}},[_vm._v(\"Cancel\")])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"type\":\"submit\"}},[_vm._v(\"Submit\")])],1)],1)],1)]}}],null,false,3266380754)})],1):_vm._e(),(_vm.showConfirmation)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-small text-darker-blue text-uppercase\"},[_vm._v(\" Confirmation \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-smaller\"},[_vm._v(\"Your request for Account Bill has been submitted for processing.\")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" Thank you for choosing Texas Farm Bureau Insurance Companies. \")])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.cancelAccountBillChanges()}}},[_vm._v(\"Return to Account Summary\")])],1)],1)],1):_vm._e()])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-container\">\r\n <span class=\"tfb-title-text-medium text-darker-blue text-uppercase\">Account Bill</span>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"drop-shadow background-white tfb-smaller-container\">\r\n <div v-if=\"!showReview && !showConfirmation\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <p>\r\n In order to enroll in Texas Farm Bureau Insurance Account Bill, please read the <a href=\"/consumerdocuments/accountbilltermsandconditions.pdf\"\r\n id=\"account-bill-terms\"\r\n target=\"_blank\"\r\n title=\"Account Bill Terms and Conditions\">Terms and Conditions</a>,\r\n then complete and submit this Authorization and Agreement for Account Bill.\r\n <i>\r\n You must continue to pay any billing statements you receive by mail or\r\n email until your Account Bill application is completed and accepted and you receive your first Account Bill statement.\r\n </i>\r\n </p>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"policyListLoading\">\r\n <v-col cols=\"12\">\r\n <v-skeleton-loader :loading=\"policyListLoading\"\r\n type=\"table\"\r\n class=\"mx-auto\">\r\n </v-skeleton-loader>\r\n </v-col>\r\n </v-row>\r\n <ValidationObserver ref=\"obvenr\" v-slot=\"{ handleSubmit }\">\r\n <v-simple-table dense\r\n v-if=\"!policyListLoading\">\r\n <template v-slot:default>\r\n <thead>\r\n <tr>\r\n <th>Enroll</th>\r\n <th>Policy Type</th>\r\n <th>Policy Number</th>\r\n </tr>\r\n </thead>\r\n <ValidationProvider tag=\"tbody\" name=\"policy\" rules=\"required|min_length:2\" v-slot=\"{ errors }\">\r\n <tr v-for=\"policy in accountBillEligible\"\r\n :key=\"policy.PolicyNumber\">\r\n <td>\r\n <v-checkbox v-model=\"enrollForm.accountBillArray\"\r\n :value=\"policy\" />\r\n </td>\r\n <td><span v-html=\"policy.PolicyDescription\"></span></td>\r\n <td>{{policy.PolicyNumber}}</td>\r\n </tr>\r\n <tr><td colspan=\"3\" class=\"v-messages theme--light error--text\">{{ errors[0] }}</td></tr>\r\n </ValidationProvider>\r\n </template>\r\n </v-simple-table>\r\n <required-fields-row></required-fields-row>\r\n <v-form ref=\"enrollForm\"\r\n @submit.stop.prevent=\"handleSubmit(reviewAccountBillChanges)\">\r\n <!-- First Name -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|name|min:2|max:25\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n label=\"First Name\"\r\n v-model=\"enrollForm.firstName\"\r\n autocomplete=\"shipping given-name\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Last Name -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|name|min:2|max:25\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n label=\"Last Name\"\r\n v-model=\"enrollForm.lastName\"\r\n autocomplete=\"shipping family-name\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Address Line One -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:2|max:250\"\r\n minlength=\"2\"\r\n maxlength=\"250\"\r\n label=\"Address Line 1\"\r\n v-model=\"enrollForm.addressLine1\"\r\n autocomplete=\"shipping address-line1\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Address Line Two -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"min:2|max:250\"\r\n minlength=\"2\"\r\n maxlength=\"250\"\r\n label=\"Address Line 2\"\r\n v-model=\"enrollForm.addressLine2\"\r\n autocomplete=\"shipping address-line2\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- City -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:2|max:250\"\r\n minlength=\"2\"\r\n maxlength=\"250\"\r\n label=\"City\"\r\n v-model=\"enrollForm.city\"\r\n autocomplete=\"shipping address-level2\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- State -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required|alpha\"\r\n label=\"State\"\r\n :items=\"stateList\"\r\n item-text=\"StateName\"\r\n item-value=\"StateCode\"\r\n v-model=\"enrollForm.state\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- County -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"County\"\r\n :items=\"countyOptions\"\r\n item-text=\"_countyName\"\r\n item-value=\"_countyName\"\r\n v-model=\"enrollForm.county\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Zip Code -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|numeric|min:5|max:5\"\r\n minlength=\"5\"\r\n maxlength=\"5\"\r\n label=\"ZIP Code\"\r\n v-model=\"enrollForm.zipCode\"\r\n type=\"number\"\r\n autocomplete=\"shipping postal-code\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Draft Day -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required|numeric\"\r\n label=\"Requested Draft Day\"\r\n :items=\"draftDayList\"\r\n v-model=\"enrollForm.draftDay\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Assurancy Pay Enrollment -->\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"8\">\r\n <label class=\"font-weight-bold\">Would you like to sign up for AssurancePay®?</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\">\r\n <radio-group-input rules=\"required\"\r\n name=\"AssurancePay enrollment\"\r\n :options=\"yesNoOptions\"\r\n v-model=\"enrollForm.assurancePayFlag\"\r\n vid=\"recur\"></radio-group-input>\r\n </v-col>\r\n </v-row>\r\n <div v-if=\"enrollForm.assurancePayFlag === 'Y'\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required_if:recur,Y|min:4|max:60\"\r\n minlength=\"4\"\r\n maxlength=\"60\"\r\n label=\"Name on Bank Account\"\r\n v-model=\"enrollForm.accountName\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"routing_number|required_if:recur,Y|numeric|min:4|max:10\"\r\n minlength=\"4\"\r\n maxlength=\"10\"\r\n label=\"Bank Routing Number\"\r\n @blur=\"getBankName()\"\r\n type=\"number\"\r\n v-model=\"enrollForm.routingNumber\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required_if:recur,Y\"\r\n label=\"Bank Name\"\r\n disabled\r\n v-model=\"enrollForm.bankName\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required_if:recur,Y|confirmed:account|min:4|max:17\"\r\n minlength=\"4\"\r\n maxlength=\"17\"\r\n label=\"Bank Account Number\"\r\n v-model=\"enrollForm.accountNumber\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required_if:recur,Y|min:4|max:17\"\r\n minlength=\"4\"\r\n maxlength=\"17\"\r\n label=\"Confirm Bank Account Number\"\r\n v-model=\"enrollForm.confirmAccountNumber\"\r\n vid=\"account\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required_if:recur,Y\"\r\n label=\"Bank Account Type\"\r\n :items=\"accountTypeOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n return-object\r\n v-model=\"enrollForm.accountType\"></select-input>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <v-row>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n @click=\"cancelAccountBillChanges()\"\r\n class=\"tfb-button background-red\">Cancel</v-btn>\r\n </v-col>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Submit</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </div>\r\n <div v-if=\"showReview\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <p>\r\n Please review the information below. Click the Submit button when you have verified the information captured is correct.\r\n If the information below is not correct, please click on the Modify button to revise. Clicking Cancel will terminate your\r\n request and return you to the Account Summary screen.\r\n </p>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-data-table dense\r\n disable-filtering\r\n disable-pagination\r\n disable-sort\r\n :headers=\"accountBillHeaders\"\r\n hide-default-footer\r\n :items=\"enrollForm.accountBillArray\"\r\n :items-per-page=\"10\">\r\n <template v-slot:top>\r\n <div class=\"font-weight-bold\">Policies to enroll:</div>\r\n </template>\r\n </v-data-table>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">First Name</label>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n {{enrollForm.firstName}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Last Name</label>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n {{enrollForm.lastName}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Address Line 1</label>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n {{enrollForm.addressLine1}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Address Line 2</label>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n {{enrollForm.addressLine2}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">City</label>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n {{enrollForm.city}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">State</label>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n {{enrollForm.state}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">County</label>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n {{enrollForm.county}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">ZIP Code</label>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n {{enrollForm.zipCode}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Requested Payment Day</label>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n {{enrollForm.draftDay}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Sign Up for AssurancePay®?</label>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n {{enrollForm.assurancePayFlag}}\r\n </v-col>\r\n </v-row>\r\n <div v-if=\"enrollForm.assurancePayFlag === 'Y'\">\r\n <v-row>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Name on Bank Account</label>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n {{enrollForm.accountName}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Bank Name</label>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n {{enrollForm.bankName}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Bank Routing Number</label>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n {{enrollForm.MaskedRoutingNumber}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Bank Account Number</label>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n {{enrollForm.MaskedAccountNumber}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Type of Account</label>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n class=\"py-0\">\r\n {{enrollForm.accountType.DisplayText}}\r\n </v-col>\r\n </v-row>\r\n </div>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-btn block\r\n @click=\"modifyAccountBillChanges()\"\r\n class=\"tfb-button background-red\">Modify</v-btn>\r\n </v-col>\r\n </v-row>\r\n <ValidationObserver ref=\"obvconf\" v-slot=\"{ handleSubmit }\">\r\n <v-form ref=\"reviewForm\"\r\n @submit.stop.prevent=\"handleSubmit(saveAccountBillChanges)\">\r\n <keep-alive>\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required\"\r\n name=\"abconfirmation\"\r\n v-slot=\"{ errors, valid, required }\">\r\n <v-checkbox v-model=\"reviewForm.confirmation\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n type=\"checkbox\">\r\n <template v-slot:label>\r\n <span>\r\n I have read and agree to the <a href=\"/consumerdocuments/accountbilltermsandconditions.pdf\"\r\n id=\"account-bill-terms\"\r\n target=\"_blank\"\r\n @click.stop\r\n title=\"Account Bill Terms and Conditions\">Terms and Conditions</a> for Account Bill.\r\n I authorize Texas Farm Bureau Mutual Insurance Company, Texas Farm Bureau Underwriters, Texas Farm Bureau Casualty\r\n Insurance Company, and/or Farm Bureau County Mutual Insurance Company of Texas (the “Companies”, “us”, or “we”)\r\n to apply one payment to multiple policies of insurance. My one payment will be applied to premium owed on all of\r\n the policies I list above and any applicable fees, and may be applied to any delinquent Texas Farm Bureau membership\r\n dues, in accordance with the Terms and Conditions listed above.\r\n </span>\r\n </template>\r\n <template v-slot:append>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-checkbox>\r\n </ValidationProvider>\r\n </keep-alive>\r\n <keep-alive v-if=\"enrollForm.assurancePayFlag === 'Y'\">\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required\"\r\n name=\"apconfirmation\"\r\n v-slot=\"{ errors, valid, required }\">\r\n <v-checkbox v-model=\"reviewForm.assuranceConfirmation\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n type=\"checkbox\">\r\n <template v-slot:label>\r\n <span>\r\n I have read and agree to the <a href=\"/consumerdocuments/recurring%20payments%20terms%20and%20conditions.pdf\"\r\n id=\"assurance-terms\"\r\n target=\"_blank\"\r\n @click.stop\r\n title=\"AssurancePay Terms and Conditions\">Terms and Conditions</a>\r\n for AssurancePay® Recurring Premium Payments via Electronic Funds Transfer (EFT.)\r\n I authorize the Texas Farm Bureau Underwriters, Texas Farm Bureau Casualty Insurance Company, Farm Bureau County\r\n Mutual Insurance Company of Texas, or Texas Farm Bureau Mutual Insurance Company, as the Companies issuing the\r\n policy described above, to initiate through the designated financial entity the appropriate entries to transfer\r\n premium payments. I understand I am responsible for paying any paper billings I may already have received or\r\n receive prior to receiving an Account Bill statement.\r\n </span>\r\n </template>\r\n <template v-slot:append>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-checkbox>\r\n </ValidationProvider>\r\n </keep-alive>\r\n <v-row>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n @click=\"cancelAccountBillChanges()\"\r\n class=\"tfb-button background-red\">Cancel</v-btn>\r\n </v-col>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Submit</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </div>\r\n <div v-if=\"showConfirmation\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-small text-darker-blue text-uppercase\">\r\n Confirmation\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-smaller\">Your request for Account Bill has been submitted for processing.</span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n Thank you for choosing Texas Farm Bureau Insurance Companies.\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n @click=\"cancelAccountBillChanges()\"\r\n class=\"tfb-button background-red\">Return to Account Summary</v-btn>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n /* eslint no-underscore-dangle: 0 */\r\n import { dispatch } from 'vuex-pathify';\r\n import { ValidationObserver, ValidationProvider } from 'vee-validate';\r\n import tfbMetaInfo from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import { insuredAccessOnlyErrorMessage } from '@/mixins/errorMessages';\r\n import RequiredFieldsRow from '@/views/layout/components/RequiredFieldsRow.vue';\r\n\r\n export default {\r\n name: 'ChangeAccountBill',\r\n data() {\r\n return {\r\n formDisabled: false,\r\n policyListLoading: false,\r\n bankLoading: false,\r\n showReview: false,\r\n showConfirmation: false,\r\n reviewForm: {},\r\n enrollForm: {\r\n accountBillArray: [],\r\n firstName: null,\r\n lastName: null,\r\n addressLine1: null,\r\n addressLine2: null,\r\n city: null,\r\n state: null,\r\n county: null,\r\n zipCode: null,\r\n draftDay: 15,\r\n assurancePayFlag: null,\r\n accountName: null,\r\n routingNumber: null,\r\n bankName: null,\r\n accountNumber: null,\r\n confirmAccountNumber: null,\r\n accountType: null,\r\n },\r\n countyOptions: [],\r\n stateList: [],\r\n accountTypeOptions: [{ Id: 0, DisplayText: 'Checking', Value: 'CH' }, { Id: 1, DisplayText: 'Savings', Value: 'SA' }],\r\n accountBillHeaders: [\r\n { text: 'Policy Type', align: 'start', value: 'PolicyDescription' },\r\n { text: 'Policy Number', value: 'PolicyNumber' },\r\n ],\r\n yesNoOptions: [{ Id: 0, DisplayText: 'Yes', Value: 'Y' }, { Id: 1, DisplayText: 'No', Value: 'N' }],\r\n };\r\n },\r\n mixins: [tfbMetaInfo, tfbHelperMixin],\r\n components: {\r\n ValidationObserver,\r\n ValidationProvider,\r\n RequiredFieldsRow,\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Account Bill | PolicyHolder';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/payments/account-bill/enroll`;\r\n },\r\n memberNumber() {\r\n try {\r\n return this.$store.getters['member/memberNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n accountBillEligible() {\r\n try {\r\n const eligiblePolicies = this.$store.getters['policy/accountSummary'];\r\n if (!eligiblePolicies || eligiblePolicies === null || eligiblePolicies.length <= 0) return [];\r\n return eligiblePolicies.filter(p => p.AccountBillEligibleFlag.toUpperCase().indexOf('Y') > -1);\r\n } catch (error) {\r\n return [];\r\n }\r\n },\r\n draftDayList() {\r\n const dayList = [];\r\n for (let i = 1; i <= 28; i += 1) {\r\n dayList.push(i);\r\n }\r\n\r\n return dayList;\r\n },\r\n },\r\n methods: {\r\n getCountyList() {\r\n this.$store.dispatch('agentcounty/getCountyList')\r\n .then((response) => {\r\n if (response && response.data && response.data._counties) {\r\n this.countyOptions = response.data._counties;\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n },\r\n getStateList() {\r\n // Get the state information\r\n dispatch('app/getStateList', { sTfbId: this.trackingId })\r\n .then((stateListResponse) => {\r\n if (stateListResponse && stateListResponse.length > 0) {\r\n this.stateList = stateListResponse;\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getMemberInformation() {\r\n const includedToken = this.$route.query.access_token;\r\n this.$store.dispatch('member/validateLogin', { sToken: includedToken, sTfbId: this.trackingId })\r\n .then((loginValid) => {\r\n if (loginValid) {\r\n this.memberNumber = this.$store.getters['member/memberNumber'];\r\n this.email = this.$store.getters['member/emailAddress'];\r\n this.enrollForm.firstName = this.$store.getters['member/memberFirstName'];\r\n this.enrollForm.lastName = this.$store.getters['member/memberLastName'];\r\n\r\n const memberAddress = this.$store.getters['member/memberAddress'];\r\n if (memberAddress && memberAddress !== null) {\r\n this.enrollForm.addressLine1 = memberAddress.Address1;\r\n this.enrollForm.addressLine2 = memberAddress.Address2;\r\n this.enrollForm.city = memberAddress.City;\r\n this.enrollForm.state = memberAddress.State;\r\n this.enrollForm.zipCode = memberAddress.ZipCode;\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getBankName() {\r\n this.bankLoading = true;\r\n dispatch('payments/validateRoutingNumber', {\r\n sRoutingNumber: this.enrollForm.routingNumber, sTfbId: this.trackingId,\r\n })\r\n .then((validationResult) => {\r\n this.enrollForm.bankName = validationResult;\r\n if (!validationResult || validationResult === '') {\r\n this.enrollForm.routingNumber = null;\r\n }\r\n this.bankLoading = false;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('Request failed with status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n }\r\n dispatch('app/setErrorMessage', error.toString());\r\n this.bankLoading = false;\r\n });\r\n },\r\n cancelAccountBillChanges() {\r\n // Go back to Summary screen\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n },\r\n modifyAccountBillChanges() {\r\n this.showReview = false;\r\n this.showConfirmation = false;\r\n },\r\n reviewAccountBillChanges() {\r\n if (this.enrollForm.assurancePayFlag === 'Y') {\r\n this.enrollForm.MaskedAccountNumber = this.maskString(this.enrollForm.accountNumber, '5', 'X');\r\n this.enrollForm.MaskedRoutingNumber = this.maskString(this.enrollForm.routingNumber, '5', 'X');\r\n }\r\n\r\n this.showReview = true;\r\n this.showConfirmation = false;\r\n },\r\n saveAccountBillChanges() {\r\n dispatch('app/setIsLoading', true);\r\n this.enrollForm.memberNumber = this.memberNumber;\r\n this.enrollForm.sTfbId = this.trackingId;\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: JSON.stringify(this.enrollForm),\r\n fileName: 'ChangeAccountBill.vue',\r\n methodName: 'saveAccountBillChanges-Start',\r\n trackerId: this.trackingId,\r\n });\r\n dispatch('payments/manageAccountBill', this.enrollForm)\r\n .then((policyResult) => {\r\n dispatch('app/setIsLoading', false);\r\n if (policyResult) {\r\n this.showReview = false;\r\n this.showConfirmation = true;\r\n } else {\r\n dispatch('app/setErrorMessage', '');\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('Request failed with status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('member/doLogout')\r\n .then(() => {\r\n dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n }\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n },\r\n mounted() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n dispatch('app/doApplicationCheck', { sApplicationName: 'AccountBill', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus === '') {\r\n if (!this.isLoggedIn) {\r\n // Invalid login - go back to login screen\r\n this.$router.push({ name: 'policyholderLogin' });\r\n } else if (!this.isMemberRole) {\r\n // Not the member, don't allow changes\r\n this.$store.dispatch('app/setErrorMessage', insuredAccessOnlyErrorMessage);\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n } else {\r\n this.getCountyList();\r\n this.getStateList();\r\n this.getMemberInformation();\r\n dispatch('app/setIsLoading', false);\r\n }\r\n } else {\r\n dispatch('app/setErrorMessage', returnedStatus);\r\n dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangeAccountBill.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangeAccountBill.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChangeAccountBill.vue?vue&type=template&id=c3a77f38\"\nimport script from \"./ChangeAccountBill.vue?vue&type=script&lang=js\"\nexport * from \"./ChangeAccountBill.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"policyholder-layout\",attrs:{\"id\":\"policyholder-layout\"}},[_c('policyholder-header'),_c('router-view')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isLoggedIn)?_c('div',[(_vm.isAppIdle)?_c('idle-notification'):_vm._e(),_c('v-container',{staticClass:\"tfb-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"7\"}},[_c('greeting'),(_vm.$vuetify.breakpoint.smAndDown)?_c('span',{staticClass:\"text-uppercase\"},[_vm._v(\" Texas Farm Bureau Member: \"+_vm._s(_vm.memberNumber)),_c('br')]):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"}},[(_vm.$vuetify.breakpoint.mdAndUp)?_c('p',{staticClass:\"text-uppercase text-right\"},[_vm._v(\" Texas Farm Bureau Member: \"+_vm._s(_vm.memberNumber)),_c('br')]):_vm._e(),(_vm.$vuetify.breakpoint.mdAndUp)?_c('agent-info'):_vm._e()],1)],1)],1),_c('v-tabs',{staticClass:\"tfb-ph-header\",attrs:{\"vertical\":_vm.$vuetify.breakpoint.smAndDown,\"centered\":_vm.$vuetify.breakpoint.mdAndUp},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tab',{class:{ 'v-tab--active': _vm.isPolicyActive },attrs:{\"to\":{ name: 'policyholderAccountSummary' }}},[_vm._v(\" Policies \")]),_c('v-tab',{class:{ 'v-tab--active': _vm.isFileClaimActive },attrs:{\"to\":{ name: 'claims' }}},[_vm._v(\" File a Claim \")]),_c('v-tab',{class:{ 'v-tab--active': _vm.isViewClaimActive },attrs:{\"to\":{ name: 'policyholderViewClaims' }}},[_vm._v(\" View a Claim \")]),_c('v-tab',{class:{ 'v-tab--active': _vm.isSettingsActive },attrs:{\"to\":{ name: 'policyholderAccountManagement' }}},[_vm._v(\" Manage My Account \")])],1),_c('div',[(_vm.$vuetify.breakpoint.smAndDown)?_c('agent-info'):_vm._e()],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',[_c('span',{staticClass:\"tfb-title-text-large text-darker-blue\",attrs:{\"id\":\"policyholder-header-greeting\"}},[_vm._v(\" Good \"+_vm._s(_vm.timeOfDay)+_vm._s(_vm.memberFirstName)+\"!\"),_c('br')]),(_vm.paymentWordingDisplay === 'Y')?_c('strong',[_c('br'),_vm._v(\" Making a payment via your checking or savings account? You can now save your account data in our new Wallet feature!\"),_c('br'),_c('br'),_vm._v(\" When adding your checking or savings account information, click the check box at the bottom, “Add to Wallet”, click “SAVE” and your account information will be saved for future use! Note: This feature is not available when paying via the Guest Payment Site.\"),_c('br'),_c('br')]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <span>\r\n <span id=\"policyholder-header-greeting\"\r\n class=\"tfb-title-text-large text-darker-blue\">\r\n Good {{timeOfDay}}{{memberFirstName}}!<br />\r\n </span>\r\n <strong v-if=\"paymentWordingDisplay === 'Y'\">\r\n <br />\r\n Making a payment via your checking or savings account? You can now save your account data in our new Wallet feature!<br /><br/>\r\n When adding your checking or savings account information, click the check box at the bottom, “Add to Wallet”,\r\n click “SAVE” and your account information will be saved for future use! Note: This feature is not available\r\n when paying via the Guest Payment Site.<br/><br/>\r\n </strong>\r\n </span>\r\n</template>\r\n<script>\r\n import _ from 'lodash';\r\n import { getHours } from 'date-fns';\r\n\r\n export default {\r\n name: 'PolicyHolderHeaderGreeting',\r\n computed: {\r\n timeOfDay() {\r\n let type = 'Day';\r\n const currentHour = getHours(new Date());\r\n\r\n if (currentHour < 12) {\r\n type = 'Morning';\r\n } else if (currentHour >= 12 && currentHour < 18) {\r\n type = 'Afternoon';\r\n } else if (currentHour >= 18) {\r\n type = 'Evening';\r\n }\r\n\r\n return type;\r\n },\r\n memberFirstName() {\r\n try {\r\n const storedName = this.$store.getters['member/memberFirstName'];\r\n\r\n if (storedName && storedName !== '') {\r\n if (storedName.length === 7 && _.startsWith(storedName.toLowerCase(), 'ut', 0)) {\r\n return `, ${storedName.toUpperCase()}`;\r\n }\r\n\r\n return `, ${_.startCase(storedName.toLowerCase())}`;\r\n }\r\n return '';\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n paymentWordingDisplay() {\r\n try {\r\n return this.$store.getters['app/paymentWordingDisplay'];\r\n } catch (error) {\r\n return 'N';\r\n }\r\n },\r\n },\r\n };\r\n</script>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Greeting.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Greeting.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Greeting.vue?vue&type=template&id=143eb930\"\nimport script from \"./Greeting.vue?vue&type=script&lang=js\"\nexport * from \"./Greeting.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"policyholder-agent no-print\",attrs:{\"id\":\"policyholder-agent\"}},[(_vm.agentLoading)?_c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\",\"align-self\":\"center\"}},[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"loading\":_vm.agentLoading,\"type\":\"image\"}})],1),_c('v-col',{attrs:{\"cols\":\"9\",\"align-self\":\"center\"}},[_c('span',{staticClass:\"tfb-title-text-smaller text-darker-blue\"},[_vm._v(\" My Agent \")]),_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"loading\":_vm.agentLoading,\"type\":\"paragraph\"}})],1)],1)],1):_vm._e(),(_vm.agentDetails)?_c('v-container',{attrs:{\"itemprop\":\"employee\",\"itemscope\":\"\",\"itemtype\":\"http://schema.org/employee\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"3\",\"align-self\":\"center\"}},[_c('v-img',{staticClass:\"rounded-0 agent-photo\",attrs:{\"src\":_vm.agentDetails.photo,\"itemprop\":\"image\"},scopedSlots:_vm._u([{key:\"placeholder\",fn:function(){return [_c('v-img',{staticClass:\"rounded-0 agent-photo\",attrs:{\"src\":_vm.defaultAgentImage,\"itemprop\":\"image\"}})]},proxy:true}],null,false,2637537847)})],1),_c('v-col',{staticClass:\"px-2\",attrs:{\"cols\":\"9\",\"align-self\":\"center\"}},[_c('span',{staticClass:\"tfb-title-text-small text-darker-blue\"},[_vm._v(\" My Agent \")]),_c('br'),_c('span',{staticClass:\"tfb-title-text-smaller font-weight-bold text-blue\",attrs:{\"itemprop\":\"familyName\"}},[_vm._v(\" \"+_vm._s(_vm.agentDetails.name)+\" \")]),_c('br'),_c('span',{attrs:{\"itemprop\":\"telephone\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"formatPhone\")(_vm.agentDetails.phoneNumber))+\" \")]),_c('br'),_c('span',{staticClass:\"text-lowercase\",attrs:{\"itemprop\":\"email\"}},[_vm._v(_vm._s(_vm.agentDetails.emailAddress))]),_c('br'),_c('router-link',{attrs:{\"to\":{ name: 'insuranceAgent', params: { id: _vm.agentDetails.code }}}},[_vm._v(\" Visit Agent Page \")])],1)],1)],1):_vm._e(),(!_vm.agentDetails && !_vm.agentLoading)?_c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\",\"align-self\":\"center\"}},[_c('v-img',{attrs:{\"src\":_vm.defaultAgentImage}})],1),_c('v-col',{attrs:{\"cols\":\"9\",\"align-self\":\"center\"}},[_c('span',{staticClass:\"tfb-title-text-smaller text-darker-blue\"},[_vm._v(\" My Agent \")]),_c('br'),_c('span',{staticClass:\"tfb-title-text font-weight-bold text-blue\"},[_vm._v(\" Unable to locate agent information \")]),_c('br')])],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"policyholder-agent\"\r\n class=\"policyholder-agent no-print\">\r\n <v-container v-if=\"agentLoading\">\r\n <v-row>\r\n <v-col cols=\"3\"\r\n align-self=\"center\">\r\n <v-skeleton-loader :loading=\"agentLoading\"\r\n type=\"image\"\r\n class=\"mx-auto\">\r\n </v-skeleton-loader>\r\n </v-col>\r\n <v-col cols=\"9\"\r\n align-self=\"center\">\r\n <span class=\"tfb-title-text-smaller text-darker-blue\">\r\n My Agent\r\n </span>\r\n <v-skeleton-loader :loading=\"agentLoading\"\r\n type=\"paragraph\"\r\n class=\"mx-auto\">\r\n </v-skeleton-loader>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <v-container v-if=\"agentDetails\"\r\n itemprop=\"employee\"\r\n itemscope\r\n itemtype=\"http://schema.org/employee\">\r\n <v-row no-gutters>\r\n <v-col cols=\"3\"\r\n align-self=\"center\">\r\n <v-img :src=\"agentDetails.photo\"\r\n class=\"rounded-0 agent-photo\"\r\n itemprop=\"image\">\r\n <template v-slot:placeholder>\r\n <v-img :src=\"defaultAgentImage\"\r\n itemprop=\"image\"\r\n class=\"rounded-0 agent-photo\"></v-img>\r\n </template>\r\n </v-img>\r\n </v-col>\r\n <v-col cols=\"9\"\r\n align-self=\"center\"\r\n class=\"px-2\">\r\n <span class=\"tfb-title-text-small text-darker-blue\">\r\n My Agent\r\n </span><br />\r\n <span class=\"tfb-title-text-smaller font-weight-bold text-blue\"\r\n itemprop=\"familyName\">\r\n {{agentDetails.name}}\r\n </span><br />\r\n <span itemprop=\"telephone\">\r\n {{agentDetails.phoneNumber | formatPhone}}\r\n </span><br />\r\n <span class=\"text-lowercase\"\r\n itemprop=\"email\">{{agentDetails.emailAddress}}</span><br />\r\n <router-link :to=\"{ name: 'insuranceAgent', params: { id: agentDetails.code }}\">\r\n Visit Agent Page\r\n </router-link>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <v-container v-if=\"!agentDetails && !agentLoading\">\r\n <v-row>\r\n <v-col cols=\"3\"\r\n align-self=\"center\">\r\n <v-img :src=\"defaultAgentImage\">\r\n </v-img>\r\n </v-col>\r\n <v-col cols=\"9\"\r\n align-self=\"center\">\r\n <span class=\"tfb-title-text-smaller text-darker-blue\">\r\n My Agent\r\n </span><br />\r\n <span class=\"tfb-title-text font-weight-bold text-blue\">\r\n Unable to locate agent information\r\n </span><br />\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n\r\nexport default {\r\n name: 'PolicyHolderHeaderAgent',\r\n mixins: [tfbHelperMixin, tfbDataMixin],\r\n data() {\r\n return {\r\n userInfo: null,\r\n agentLoading: true,\r\n agentDetails: null,\r\n };\r\n },\r\n computed: {\r\n agentCode() {\r\n try {\r\n return this.$store.getters['member/agentNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n },\r\n watch: {\r\n agentCode() {\r\n this.fetchAgent();\r\n },\r\n },\r\n mounted() {\r\n this.fetchAgent();\r\n },\r\n methods: {\r\n fetchAgent() {\r\n if (this.agentCode && this.agentCode !== null && this.agentCode !== '' && this.agentCode !== '99997') {\r\n dispatch('agentcounty/getAgentDetails', { sAgentCode: this.agentCode, sDistance: 0, sTfbId: this.trackingId })\r\n .then((detailResponse) => {\r\n if (detailResponse) {\r\n this.agentDetails = detailResponse;\r\n } else {\r\n this.agentDetails = null;\r\n }\r\n this.agentLoading = false;\r\n })\r\n .catch(() => {\r\n this.agentDetails = null;\r\n this.agentLoading = false;\r\n });\r\n } else {\r\n this.agentDetails = null;\r\n this.agentLoading = false;\r\n }\r\n },\r\n },\r\n};\r\n</script>\r\n<style lang=\"scss\">\r\n .policyholder-agent {\r\n background: $white;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentInfo.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentInfo.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AgentInfo.vue?vue&type=template&id=05168b66\"\nimport script from \"./AgentInfo.vue?vue&type=script&lang=js\"\nexport * from \"./AgentInfo.vue?vue&type=script&lang=js\"\nimport style0 from \"./AgentInfo.vue?vue&type=style&index=0&id=05168b66&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"v-overlay v-overlay--active theme--dark\",staticStyle:{\"z-index\":\"201\"}},[_c('div',{staticClass:\"v-overlay__scrim\",staticStyle:{\"opacity\":\"0.46\",\"background-color\":\"rgb(33, 33, 33)\",\"border-color\":\"rgb(33, 33, 33)\"}}),_c('div',{staticClass:\"v-overlay__content\"}),_c('div',{staticClass:\"v-dialog__content v-dialog__content--active\",staticStyle:{\"z-index\":\"202\"},attrs:{\"role\":\"document\",\"tabindex\":\"0\"}},[_c('div',{staticClass:\"v-dialog v-dialog--active\",staticStyle:{\"transform-origin\":\"center center\",\"max-width\":\"290px\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\" Logout Warning \")]),_c('v-card-text',[_vm._v(\" Your login session is about to expire. Click below if you want to stay logged in.\"),_c('br'),_c('div',{staticClass:\"text-center\"},[_vm._v(\" Logging out in: \"),_c('h2',{class:[ _vm.logoutCountdown <= 10 ? 'count-warning' : '' ]},[_vm._v(_vm._s(_vm.logoutCountdown))])])]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.stayLoggedIn()}}},[_vm._v(\" Stay Logged In \")])],1)],1)],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"v-overlay v-overlay--active theme--dark\" style=\"z-index: 201;\">\r\n <div class=\"v-overlay__scrim\" style=\"opacity: 0.46; background-color: rgb(33, 33, 33); border-color: rgb(33, 33, 33);\"></div>\r\n <div class=\"v-overlay__content\"></div>\r\n <div role=\"document\" tabindex=\"0\" class=\"v-dialog__content v-dialog__content--active\" style=\"z-index: 202;\">\r\n <div class=\"v-dialog v-dialog--active\" style=\"transform-origin: center center; max-width: 290px;\">\r\n <v-card>\r\n <v-card-title class=\"headline\">\r\n Logout Warning\r\n </v-card-title>\r\n <v-card-text>\r\n Your login session is about to expire. Click below if you want to stay logged in.<br />\r\n <div class=\"text-center\">\r\n Logging out in: <h2 v-bind:class=\"[ logoutCountdown <= 10 ? 'count-warning' : '' ]\">{{logoutCountdown}}</h2>\r\n </div>\r\n </v-card-text>\r\n <v-card-actions>\r\n <v-spacer></v-spacer>\r\n <v-btn block\r\n @click=\"stayLoggedIn()\"\r\n class=\"tfb-button background-red\">\r\n Stay Logged In\r\n </v-btn>\r\n </v-card-actions>\r\n </v-card>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\n export default {\r\n name: 'IdleNotification',\r\n data() {\r\n return {\r\n timer: 60000,\r\n };\r\n },\r\n computed: {\r\n logoutCountdown() {\r\n return this.timer / 1000;\r\n },\r\n },\r\n created() {\r\n const timerId = setInterval(() => {\r\n this.timer -= 1000;\r\n if (!this.isAppIdle) {\r\n clearInterval(timerId);\r\n }\r\n\r\n if (this.timer < 1) {\r\n clearInterval(timerId);\r\n if (this.$route.name !== 'policyholderLogin') {\r\n // Logout user\r\n this.$store.dispatch('app/setIsLoading', true);\r\n\r\n // Clear the access page\r\n this.$store.dispatch('app/setAccessPage', null);\r\n\r\n this.$store.dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n // Go to home page\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n }\r\n }\r\n }, 1000);\r\n },\r\n methods: {\r\n stayLoggedIn() {\r\n this.isAppIdle = false;\r\n this.timer = 60000;\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .count-warning {\r\n color: $tfb-red;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IdleNotification.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IdleNotification.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./IdleNotification.vue?vue&type=template&id=72bbbd11\"\nimport script from \"./IdleNotification.vue?vue&type=script&lang=js\"\nexport * from \"./IdleNotification.vue?vue&type=script&lang=js\"\nimport style0 from \"./IdleNotification.vue?vue&type=style&index=0&id=72bbbd11&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div v-if=\"isLoggedIn\">\r\n <idle-notification v-if=\"isAppIdle\"></idle-notification>\r\n <v-container fluid\r\n class=\"tfb-container\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"7\">\r\n <greeting></greeting>\r\n <span class=\"text-uppercase\" v-if=\"$vuetify.breakpoint.smAndDown\">\r\n Texas Farm Bureau Member: {{memberNumber}}<br />\r\n </span>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"5\">\r\n <p class=\"text-uppercase text-right\" v-if=\"$vuetify.breakpoint.mdAndUp\">\r\n Texas Farm Bureau Member: {{memberNumber}}<br />\r\n </p>\r\n <agent-info v-if=\"$vuetify.breakpoint.mdAndUp\"></agent-info>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <v-tabs v-model=\"tab\"\r\n class=\"tfb-ph-header\"\r\n :vertical=\"$vuetify.breakpoint.smAndDown\"\r\n :centered=\"$vuetify.breakpoint.mdAndUp\">\r\n <v-tab v-bind:class=\"{ 'v-tab--active': isPolicyActive }\"\r\n :to=\"{ name: 'policyholderAccountSummary' }\">\r\n Policies\r\n </v-tab>\r\n <v-tab v-bind:class=\"{ 'v-tab--active': isFileClaimActive }\"\r\n :to=\"{ name: 'claims' }\">\r\n File a Claim\r\n </v-tab>\r\n <v-tab v-bind:class=\"{ 'v-tab--active': isViewClaimActive }\"\r\n :to=\"{ name: 'policyholderViewClaims' }\">\r\n View a Claim\r\n </v-tab>\r\n <v-tab v-bind:class=\"{ 'v-tab--active': isSettingsActive }\"\r\n :to=\"{ name: 'policyholderAccountManagement' }\">\r\n Manage My Account\r\n </v-tab>\r\n </v-tabs>\r\n <div>\r\n <agent-info v-if=\"$vuetify.breakpoint.smAndDown\"></agent-info>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\n import Greeting from './Greeting.vue';\r\n import AgentInfo from './AgentInfo.vue';\r\n import IdleNotification from '../components/IdleNotification.vue';\r\n\r\n export default {\r\n name: 'PolicyHolderHeader',\r\n components: {\r\n IdleNotification,\r\n Greeting,\r\n AgentInfo,\r\n },\r\n data() {\r\n return {\r\n tab: null,\r\n isMobile: this.$vuetify.breakpoint.smAndDown,\r\n isPolicyActive: false,\r\n isFileClaimActive: false,\r\n isViewClaimActive: false,\r\n isSettingsActive: false,\r\n };\r\n },\r\n computed: {\r\n isLoggedIn() {\r\n try {\r\n return this.$store.getters['member/loggedInStatus'];\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n memberNumber() {\r\n return this.$store.getters['member/memberNumber'];\r\n },\r\n },\r\n watch: {\r\n $route: 'setTab',\r\n },\r\n mounted() {\r\n this.setTab();\r\n },\r\n methods: {\r\n setTab() {\r\n this.isPolicyActive = false;\r\n this.isFileClaimActive = false;\r\n this.isViewClaimActive = false;\r\n this.isSettingsActive = false;\r\n\r\n if (this.$route.name === 'policyholderAccountSummary' || this.$route.name === 'policyholderPolicyDetail') {\r\n this.isPolicyActive = true;\r\n } else if (this.$route.name === 'policyholderClaims' || this.$route.name === 'policyholderClaimsReport') {\r\n this.isFileClaimActive = true;\r\n } else if (this.$route.name === 'policyholderViewClaims') {\r\n this.isViewClaimActive = true;\r\n } else {\r\n this.isSettingsActive = true;\r\n }\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .tfb-ph-header.theme--light.v-tabs > .v-tabs-bar .v-tab:not(.v-tab--active),\r\n .tfb-ph-header.theme--light.v-tabs > .v-tabs-bar {\r\n background: $tfb-gray;\r\n color: $white;\r\n }\r\n\r\n .tfb-ph-header.v-tabs--vertical > .v-tabs-bar .v-tab {\r\n text-align: left;\r\n justify-content: flex-start;\r\n }\r\n\r\n .tfb-ph-header.v-tabs-slider-wrapper {\r\n visibility: hidden;\r\n }\r\n\r\n .tfb-ph-header a.v-tab--active.v-tab.v-tab--active {\r\n background: $tfb-lighter-gray;\r\n color: $white;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PolicyHolderHeader.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PolicyHolderHeader.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PolicyHolderHeader.vue?vue&type=template&id=c2f5a506\"\nimport script from \"./PolicyHolderHeader.vue?vue&type=script&lang=js\"\nexport * from \"./PolicyHolderHeader.vue?vue&type=script&lang=js\"\nimport style0 from \"./PolicyHolderHeader.vue?vue&type=style&index=0&id=c2f5a506&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div id=\"policyholder-layout\"\r\n class=\"policyholder-layout\">\r\n <policyholder-header></policyholder-header>\r\n <router-view></router-view>\r\n </div>\r\n</template>\r\n<script>\r\n import PolicyholderHeader from './header/PolicyHolderHeader.vue';\r\n\r\nexport default {\r\n name: 'PolicyHolderLayout',\r\n components: {\r\n PolicyholderHeader,\r\n },\r\n};\r\n</script>\r\n<style lang=\"scss\">\r\n .policyholder-layout{\r\n background-color: $tfb-off-white;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=a4909c18\"\nimport script from \"./Layout.vue?vue&type=script&lang=js\"\nexport * from \"./Layout.vue?vue&type=script&lang=js\"\nimport style0 from \"./Layout.vue?vue&type=style&index=0&id=a4909c18&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"background-darker-blue tfbins-login\",attrs:{\"id\":\"policyholder-login\"}},[_c('v-container',{staticClass:\"tfbins-login-box\"},[_c('h1',{staticClass:\"tfb-title-text-medium text-uppercase\"},[_vm._v(\"Log In\")]),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [_c('v-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.logIn)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:4|max:60|all_allowed\",\"minlength\":\"4\",\"maxlength\":\"60\",\"label\":\"Username/Email Address\",\"autocomplete\":\"username\"},model:{value:(_vm.userName),callback:function ($$v) {_vm.userName=$$v},expression:\"userName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:4|max:99\",\"minlength\":\"4\",\"maxlength\":\"99\",\"label\":\"Password\",\"autocomplete\":\"current-password\",\"type\":\"password\"},model:{value:(_vm.passWord),callback:function ($$v) {_vm.passWord=$$v},expression:\"passWord\"}})],1)],1),(_vm.captchaEnabled === 'Y')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.hasCaptcha),expression:\"!hasCaptcha\"}],staticClass:\"text-darkest-red\",attrs:{\"role\":\"alert\"}},[_vm._v(\"Please validate you are not a bot.\")]),_c('vue-recaptcha',{ref:\"recaptcha\",attrs:{\"sitekey\":_vm.googleReCaptchaKey},on:{\"verify\":_vm.onVerify,\"expired\":_vm.onExpired}})],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\"Log In\")])],1)],1)],1)]}}])}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('router-link',{attrs:{\"to\":{ name: 'policyholderRegister'},\"hreflang\":\"en-us\"}},[_vm._v(\"Register\")]),_vm._v(\" | \"),_c('router-link',{attrs:{\"to\":{ name: 'policyholderForgotPassword'},\"hreflang\":\"en-us\"}},[_vm._v(\"Forgot Password\")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"policyholder-login\"\r\n class=\"background-darker-blue tfbins-login\">\r\n <v-container class=\"tfbins-login-box\">\r\n <h1 class=\"tfb-title-text-medium text-uppercase\">Log In</h1>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form @submit.stop.prevent=\"handleSubmit(logIn)\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:4|max:60|all_allowed\"\r\n minlength=\"4\"\r\n maxlength=\"60\"\r\n label=\"Username/Email Address\"\r\n autocomplete=\"username\"\r\n v-model=\"userName\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:4|max:99\"\r\n minlength=\"4\"\r\n maxlength=\"99\"\r\n label=\"Password\"\r\n v-model=\"passWord\"\r\n autocomplete=\"current-password\"\r\n type=\"password\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"captchaEnabled === 'Y'\">\r\n <v-col cols=\"12\">\r\n <span role=\"alert\"\r\n v-show=\"!hasCaptcha\"\r\n class=\"text-darkest-red\">Please validate you are not a bot.</span>\r\n <vue-recaptcha ref=\"recaptcha\"\r\n @verify=\"onVerify\"\r\n @expired=\"onExpired\"\r\n :sitekey=\"googleReCaptchaKey\"></vue-recaptcha>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Log In</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <router-link :to=\"{ name: 'policyholderRegister'}\"\r\n hreflang=\"en-us\">Register</router-link> |\r\n <router-link :to=\"{ name: 'policyholderForgotPassword'}\"\r\n hreflang=\"en-us\">Forgot Password</router-link>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import { ValidationObserver } from 'vee-validate';\r\n import VueRecaptcha from 'vue-recaptcha';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'PolicyHolderLogin',\r\n mixins: [tfbMetaMixin, tfbHelperMixin],\r\n components: {\r\n ValidationObserver,\r\n VueRecaptcha,\r\n },\r\n data() {\r\n return {\r\n userName: '',\r\n passWord: '',\r\n rememberLogin: '',\r\n formDisabled: false,\r\n hasCaptcha: true,\r\n captchaText: '',\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Log In | PolicyHolder';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/login`;\r\n },\r\n captchaEnabled() {\r\n return this.$store.state.app.loginCaptchaEnabled;\r\n },\r\n googleReCaptchaKey() {\r\n return process.env.VUE_APP_GOOGLE_RECAPTCHA_KEY;\r\n },\r\n },\r\n async mounted() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n await this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'Policyholder', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus === '') {\r\n if (this.isLoggedIn) {\r\n // Redirect where needed\r\n this.doRedirect();\r\n } else {\r\n // See if this is an SSO session\r\n const includedToken = this.$route.query.access_token;\r\n\r\n if (includedToken && includedToken !== '') {\r\n // We have a token, see if we can log in\r\n this.$store.dispatch('member/doSsoLogin', { sAccessToken: includedToken, sTfbId: this.trackingId })\r\n .then((response) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: response,\r\n fileName: 'Login.vue',\r\n methodName: 'doSsoLogin-Success',\r\n trackerId: this.trackingId,\r\n });\r\n\r\n if (response === 'invalid_grant') {\r\n this.$store.dispatch('app/setErrorMessage', 'Username/Password Not Found');\r\n }\r\n\r\n if (response !== '') {\r\n this.$store.dispatch('app/setErrorMessage', response);\r\n } else {\r\n // Redirect where needed\r\n this.doRedirect();\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'Login.vue',\r\n methodName: 'doSsoLogin-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n });\r\n }\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', returnedStatus);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.formDisabled = true;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n methods: {\r\n onCaptchaSubmit() {\r\n this.hasCaptcha = true;\r\n this.$refs.invisibleRecaptcha.execute();\r\n },\r\n onVerify(response) {\r\n this.hasCaptcha = true;\r\n this.captchaText = response;\r\n },\r\n onExpired() {\r\n this.hasCaptcha = false;\r\n this.captchaText = '';\r\n this.$refs.recaptcha.reset();\r\n },\r\n async logIn() {\r\n if (this.captchaEnabled === 'Y' && (!this.hasCaptcha || this.captchaText === '')) {\r\n this.onExpired();\r\n this.$store.dispatch('app/setIsLoading', false);\r\n return;\r\n }\r\n\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: this.userName,\r\n fileName: 'Login.vue',\r\n methodName: 'doLogin-Start',\r\n trackerId: this.trackingId,\r\n });\r\n if (this.captchaEnabled !== 'Y') {\r\n this.captchaText = 'kQMSVtPlYECzM1IX8WibEg';\r\n }\r\n await this.$store.dispatch('member/doLogin', {\r\n sUserName: this.userName,\r\n sPassword: this.passWord,\r\n sCatchaText: this.captchaText,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((response) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: response,\r\n fileName: 'Login.vue',\r\n methodName: 'doLogin-Response',\r\n trackerId: this.trackingId,\r\n });\r\n\r\n if (response === 'invalid_grant') {\r\n this.$store.dispatch('app/setErrorMessage', 'Username/Password Not Found');\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n\r\n if (response !== '') {\r\n this.$store.dispatch('app/setErrorMessage', response);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } else {\r\n // Redirect where needed\r\n this.doRedirect();\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'Login.vue',\r\n methodName: 'doLogin-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n });\r\n },\r\n },\r\n created() {\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/clearErrorMessage');\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfbins-login {\r\n padding-top: 100px;\r\n padding-bottom: 100px;\r\n }\r\n\r\n .tfbins-login-box {\r\n background: $white;\r\n padding: 20px 50px;\r\n max-width: 500px;\r\n color: $tfb-darkest-blue;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=16025a7e\"\nimport script from \"./Login.vue?vue&type=script&lang=js\"\nexport * from \"./Login.vue?vue&type=script&lang=js\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=16025a7e&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"background-darker-blue tfbins-registration\",attrs:{\"id\":\"policyholder-registration\"}},[(!_vm.registered)?_c('v-container',{staticClass:\"tfbins-registration-box\"},[_c('h1',{staticClass:\"tfb-title-text-medium text-uppercase\"},[_vm._v(\"Registration\")]),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [_c('v-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|alpha_num|min:6|max:11\",\"minlength\":\"6\",\"maxlength\":\"11\",\"label\":\"Policy Number\"},model:{value:(_vm.policyNumber),callback:function ($$v) {_vm.policyNumber=$$v},expression:\"policyNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('keep-alive',[_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required|alpha_num|min:4|max:11\",\"name\":\"Member Number\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid, required }){return [_c('v-text-field',{attrs:{\"outlined\":\"\",\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid,\"minlength\":\"4\",\"maxlength\":\"11\",\"label\":\"Member Number\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [(required)?_c('v-icon',[_vm._v(\"mdi-asterisk\")]):_vm._e()]},proxy:true}],null,true),model:{value:(_vm.memberNumber),callback:function ($$v) {_vm.memberNumber=$$v},expression:\"memberNumber\"}})]}}],null,true)})],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-smaller text-uppercase\"},[_vm._v(\" Username \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|email|valid_domain|confirmed:username|min:4|max:60\",\"minlength\":\"4\",\"maxlength\":\"60\",\"label\":\"Email Address\",\"autocomplete\":\"username\"},model:{value:(_vm.userName),callback:function ($$v) {_vm.userName=$$v},expression:\"userName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|email|min:4|max:60\",\"minlength\":\"4\",\"maxlength\":\"60\",\"label\":\"Confirm Email Address\",\"autocomplete\":\"username\",\"vid\":\"username\"},model:{value:(_vm.confirmUserName),callback:function ($$v) {_vm.confirmUserName=$$v},expression:\"confirmUserName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-smaller text-uppercase\"},[_vm._v(\" Password \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|all_allowed|min:16|max:99|confirmed:password|hasMoreThanNConcurrentLetters:2|hasNUppercaseLetters:1|hasNNumbers:2\",\"minlength\":\"16\",\"maxlength\":\"99\",\"label\":\"Password\",\"autocomplete\":\"new-password\",\"type\":\"password\"},model:{value:(_vm.passWord),callback:function ($$v) {_vm.passWord=$$v},expression:\"passWord\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|all_allowed|min:16|max:99\",\"minlength\":\"16\",\"maxlength\":\"99\",\"label\":\"Confirm Password\",\"autocomplete\":\"new-password\",\"type\":\"password\",\"vid\":\"password\"},model:{value:(_vm.confirmPassWord),callback:function ($$v) {_vm.confirmPassWord=$$v},expression:\"confirmPassWord\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h4',[_vm._v(\"Password requirements:\")]),_c('ul',[_c('li',{staticStyle:{\"list-style-type\":\"none\"}},[(_vm.passwordLengthValidation)?_c('v-icon',[_vm._v(\"mdi-check\")]):_c('v-icon',[_vm._v(\"mdi-close\")]),_vm._v(\" Between 16 and 99 chracters \")],1),_c('li',{staticStyle:{\"list-style-type\":\"none\"}},[(_vm.passwordNumbersValidation)?_c('v-icon',[_vm._v(\"mdi-check\")]):_c('v-icon',[_vm._v(\"mdi-close\")]),_vm._v(\" At least two numbers \")],1),_c('li',{staticStyle:{\"list-style-type\":\"none\"}},[(_vm.passwordAlphasValidation)?_c('v-icon',[_vm._v(\"mdi-check\")]):_c('v-icon',[_vm._v(\"mdi-close\")]),_vm._v(\" At least two letters \")],1),_c('li',{staticStyle:{\"list-style-type\":\"none\"}},[(_vm.passwordCapitalsValidation)?_c('v-icon',[_vm._v(\"mdi-check\")]):_c('v-icon',[_vm._v(\"mdi-close\")]),_vm._v(\" At least one uppercase letter \")],1),_c('li',{staticStyle:{\"list-style-type\":\"none\"}},[(_vm.passwordRepeatingValidation)?_c('v-icon',[_vm._v(\"mdi-check\")]):_c('v-icon',[_vm._v(\"mdi-close\")]),_vm._v(\" No more than two concurrent like characters \")],1),_c('li',{staticStyle:{\"list-style-type\":\"none\"}},[(_vm.passwordSpecialCharactersValidation)?_c('v-icon',[_vm._v(\"mdi-check\")]):_c('v-icon',[_vm._v(\"mdi-close\")]),_vm._v(\" Does not include a colon \")],1)])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":\"I would like to receive marketing communications from Texas Farm Bureau Insurance Companies\"},model:{value:(_vm.communication),callback:function ($$v) {_vm.communication=$$v},expression:\"communication\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\"Register\")])],1)],1)],1)]}}],null,false,2910450534)})],1):_vm._e(),(_vm.registered)?_c('v-container',{staticClass:\"tfbins-registration-box\"},[_c('h1',{staticClass:\"tfb-title-text-medium text-uppercase\"},[_vm._v(\"Complete Registration\")]),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" Thank you for registering with Texas Farm Bureau Insurance! Please check your email for instructions on how to complete your registration. \")])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" Didn't receive an email? \"),_c('a',{attrs:{\"href\":\"\",\"hreflang\":\"en-us\",\"aria-label\":\"Click here to resend the instructions.\"},on:{\"click\":function($event){$event.preventDefault();return _vm.resendRegistration()}}},[_vm._v(\"Click here to resend the instructions.\")]),(_vm.registrationReSent)?_c('p',{staticClass:\"text-red\"},[_vm._v(\"The registration instructions have been re-sent to your email.\")]):_vm._e()])],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"policyholder-registration\"\r\n class=\"background-darker-blue tfbins-registration\">\r\n <v-container class=\"tfbins-registration-box\"\r\n v-if=\"!registered\">\r\n <h1 class=\"tfb-title-text-medium text-uppercase\">Registration</h1>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form @submit.stop.prevent=\"handleSubmit(onSubmit)\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|alpha_num|min:6|max:11\"\r\n minlength=\"6\"\r\n maxlength=\"11\"\r\n label=\"Policy Number\"\r\n v-model=\"policyNumber\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <keep-alive>\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required|alpha_num|min:4|max:11\"\r\n name=\"Member Number\"\r\n v-slot=\"{ errors, valid, required }\">\r\n <v-text-field outlined\r\n hide-details=\"auto\"\r\n v-model=\"memberNumber\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n minlength=\"4\"\r\n maxlength=\"11\"\r\n label=\"Member Number\">\r\n <template v-slot:append>\r\n <v-icon v-if=\"required\">mdi-asterisk</v-icon>\r\n </template>\r\n </v-text-field>\r\n </ValidationProvider>\r\n </keep-alive>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-smaller text-uppercase\">\r\n Username\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|email|valid_domain|confirmed:username|min:4|max:60\"\r\n minlength=\"4\"\r\n maxlength=\"60\"\r\n label=\"Email Address\"\r\n autocomplete=\"username\"\r\n v-model=\"userName\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|email|min:4|max:60\"\r\n minlength=\"4\"\r\n maxlength=\"60\"\r\n label=\"Confirm Email Address\"\r\n v-model=\"confirmUserName\"\r\n autocomplete=\"username\"\r\n vid=\"username\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-smaller text-uppercase\">\r\n Password\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|all_allowed|min:16|max:99|confirmed:password|hasMoreThanNConcurrentLetters:2|hasNUppercaseLetters:1|hasNNumbers:2\"\r\n minlength=\"16\"\r\n maxlength=\"99\"\r\n label=\"Password\"\r\n v-model=\"passWord\"\r\n autocomplete=\"new-password\"\r\n type=\"password\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|all_allowed|min:16|max:99\"\r\n minlength=\"16\"\r\n maxlength=\"99\"\r\n label=\"Confirm Password\"\r\n v-model=\"confirmPassWord\"\r\n autocomplete=\"new-password\"\r\n type=\"password\"\r\n vid=\"password\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h4>Password requirements:</h4>\r\n <ul>\r\n <li style=\"list-style-type:none;\">\r\n <v-icon v-if=\"passwordLengthValidation\">mdi-check</v-icon><v-icon v-else>mdi-close</v-icon> Between 16 and 99 chracters\r\n </li>\r\n <li style=\"list-style-type:none;\">\r\n <v-icon v-if=\"passwordNumbersValidation\">mdi-check</v-icon><v-icon v-else>mdi-close</v-icon> At least two numbers\r\n </li>\r\n <li style=\"list-style-type:none;\">\r\n <v-icon v-if=\"passwordAlphasValidation\">mdi-check</v-icon><v-icon v-else>mdi-close</v-icon> At least two letters\r\n </li>\r\n <li style=\"list-style-type:none;\">\r\n <v-icon v-if=\"passwordCapitalsValidation\">mdi-check</v-icon><v-icon v-else>mdi-close</v-icon> At least one uppercase letter\r\n </li>\r\n <li style=\"list-style-type:none;\">\r\n <v-icon v-if=\"passwordRepeatingValidation\">mdi-check</v-icon><v-icon v-else>mdi-close</v-icon> No more than two concurrent like characters\r\n </li>\r\n <li style=\"list-style-type:none;\">\r\n <v-icon v-if=\"passwordSpecialCharactersValidation\">mdi-check</v-icon><v-icon v-else>mdi-close</v-icon> Does not include a colon\r\n </li>\r\n </ul>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-checkbox v-model=\"communication\"\r\n label=\"I would like to receive marketing communications from Texas Farm Bureau Insurance Companies\">\r\n </v-checkbox>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Register</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </v-container>\r\n <v-container class=\"tfbins-registration-box\"\r\n v-if=\"registered\">\r\n <h1 class=\"tfb-title-text-medium text-uppercase\">Complete Registration</h1>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n Thank you for registering with Texas Farm Bureau Insurance! Please check your email for\r\n instructions on how to complete your registration.\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n Didn't receive an email? <a href=\"\"\r\n v-on:click.prevent=\"resendRegistration()\"\r\n hreflang=\"en-us\"\r\n aria-label=\"Click here to resend the instructions.\">Click here to resend the instructions.</a>\r\n <p v-if=\"registrationReSent\"\r\n class=\"text-red\">The registration instructions have been re-sent to your email.</p>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import { ValidationObserver, ValidationProvider } from 'vee-validate';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import { invalidRegistrationIdMessage } from '@/mixins/errorMessages';\r\n\r\n export default {\r\n name: 'PolicyHolderRegister',\r\n mixins: [tfbMetaMixin, tfbHelperMixin],\r\n components: {\r\n ValidationObserver,\r\n ValidationProvider,\r\n },\r\n data() {\r\n return {\r\n policyNumber: '',\r\n memberNumber: '',\r\n userName: '',\r\n confirmUserName: '',\r\n passWord: '',\r\n confirmPassWord: '',\r\n communication: false,\r\n formDisabled: false,\r\n registered: false,\r\n registrationReSent: false,\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Register | PolicyHolder';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/register`;\r\n },\r\n registrationId() {\r\n if (this.$route.query.regid && this.$route.query.regid !== undefined && this.$route.query.regid !== null) {\r\n return this.$route.query.regid;\r\n }\r\n\r\n if (this.$route.query.regId && this.$route.query.regId !== undefined && this.$route.query.regId !== null) {\r\n return this.$route.query.regId;\r\n }\r\n\r\n return null;\r\n },\r\n passwordLengthValidation() {\r\n return this.passWord.length >= 16 && this.passWord.length <= 99;\r\n },\r\n passwordNumbersValidation() {\r\n return this.hasNNumericCharacters(this.passWord, 2);\r\n },\r\n passwordAlphasValidation() {\r\n return this.hasNAlphaCharacters(this.passWord, 2);\r\n },\r\n passwordCapitalsValidation() {\r\n return this.hasNUppercaseCharacters(this.passWord, 1);\r\n },\r\n passwordRepeatingValidation() {\r\n return this.hasMoreThanNConcurrentLetters(this.passWord, 2);\r\n },\r\n passwordSpecialCharactersValidation() {\r\n return !this.containsString(this.passWord, ':');\r\n },\r\n },\r\n watch: {\r\n memberNumber(val) {\r\n this.memberNumber = val.toUpperCase();\r\n },\r\n policyNumber(val) {\r\n this.policyNumber = val.toUpperCase();\r\n },\r\n },\r\n created() {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n },\r\n async mounted() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n await this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'Policyholder', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus === '') {\r\n if (this.isLoggedIn) {\r\n // Redirect where needed\r\n this.doRedirect();\r\n } else {\r\n // See if this is an SSO session\r\n const includedToken = this.$route.query.access_token;\r\n\r\n if (includedToken && includedToken !== '') {\r\n // We have a token, see if we can log in\r\n this.$store.dispatch('member/doSsoLogin', { sAccessToken: includedToken, sTfbId: this.trackingId })\r\n .then((response) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: response,\r\n fileName: 'Login.vue',\r\n methodName: 'doSsoLogin-Success',\r\n trackerId: this.trackingId,\r\n });\r\n\r\n if (response === 'invalid_grant') {\r\n this.$store.dispatch('app/setErrorMessage', 'Username/Password Not Found');\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n\r\n if (response !== '') {\r\n this.$store.dispatch('app/setErrorMessage', response);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } else {\r\n // Redirect where needed\r\n this.doRedirect();\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'Login.vue',\r\n methodName: 'doSsoLogin-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n });\r\n } else {\r\n // Is there a registration id?\r\n // eslint-disable-next-line no-lonely-if\r\n if (this.registrationId && this.registrationId !== null && this.registrationId !== '') {\r\n this.$store.dispatch('app/setIsLoading', true);\r\n // Send the registration id to see if it's valid\r\n this.$store.dispatch('member/doRegistrationIdVerification', { sRegistrationId: this.registrationId, sTfbId: this.trackingId })\r\n .then((validationResponse) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: validationResponse,\r\n fileName: 'Login.vue',\r\n methodName: 'validateRegistrationId-Success',\r\n trackerId: this.trackingId,\r\n });\r\n\r\n if (validationResponse !== null && validationResponse.ValidIdIndicator) {\r\n // Valid registration id, so populate the fields\r\n this.memberNumber = validationResponse.MemberNumber;\r\n this.policyNumber = validationResponse.PolicyNumber;\r\n this.userName = validationResponse.EmailAddress;\r\n this.confirmUserName = validationResponse.EmailAddress;\r\n\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } else {\r\n // Invalid registration id, so display the error\r\n this.$store.dispatch('app/setErrorMessage', invalidRegistrationIdMessage);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: 'Invalid registration id',\r\n fileName: 'Login.vue',\r\n methodName: 'validateRegistrationId-Invalid registration id',\r\n trackerId: this.trackingId,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'Login.vue',\r\n methodName: 'validateRegistrationId-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n });\r\n }\r\n }\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', returnedStatus);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.formDisabled = true;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n methods: {\r\n onSubmit() {\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('member/doRegistration', {\r\n sPolicyNumber: this.policyNumber,\r\n sMemberNumber: this.memberNumber,\r\n sUserName: this.userName,\r\n sPassword: this.passWord,\r\n sPasswordConfirmation: this.confirmPassWord,\r\n sCommunication: this.communication ? 'Y' : 'N',\r\n sTfbId: this.trackingId,\r\n })\r\n .then((response) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n if (response !== '') {\r\n this.$store.dispatch('app/setErrorMessage', response);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } else {\r\n // Show the instructions to complete registration\r\n this.registered = true;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n resendRegistration() {\r\n this.registrationReSent = false;\r\n this.$store.dispatch('member/resendRegistration', {\r\n sMemberNumber: this.memberNumber,\r\n sUserName: this.userName,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((response) => {\r\n if (response !== '') {\r\n this.$store.dispatch('app/setErrorMessage', response);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } else {\r\n // Show the instructions to complete registration\r\n this.registered = true;\r\n this.registrationReSent = true;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfbins-registration {\r\n padding-top: 100px;\r\n padding-bottom: 100px;\r\n }\r\n\r\n .tfbins-registration-box {\r\n background: $white;\r\n padding: 20px 50px;\r\n max-width: 700px;\r\n color: $tfb-darkest-blue;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Register.vue?vue&type=template&id=39a23440\"\nimport script from \"./Register.vue?vue&type=script&lang=js\"\nexport * from \"./Register.vue?vue&type=script&lang=js\"\nimport style0 from \"./Register.vue?vue&type=style&index=0&id=39a23440&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isValidUser)?_c('div',{staticClass:\"background-darker-blue tfbins-agent-login\",attrs:{\"id\":\"policyholder-login\"}},[_c('v-container',{staticClass:\"tfbins-agent-login-box\"},[_c('h1',{staticClass:\"tfb-title-text-medium text-uppercase\"},[_vm._v(\"Agent Access\")]),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [_c('v-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.logIn)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('keep-alive',[_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required|numeric\",\"name\":\"Member County\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid, required }){return [_c('v-select',{attrs:{\"outlined\":\"\",\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid,\"label\":\"Member County\",\"items\":_vm.countyList,\"item-text\":\"`${data.item._countyId} - ${data.item._countyName}`\",\"item-value\":\"_countyId\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-asterisk\")]),_c('v-icon',[_vm._v(\"mdi-menu-down\")])]},proxy:true},{key:\"selection\",fn:function(data){return [_vm._v(\" \"+_vm._s(data.item._countyId)+\" - \"+_vm._s(data.item._countyName)+\" \")]}},{key:\"item\",fn:function(data){return [_vm._v(\" \"+_vm._s(data.item._countyId)+\" - \"+_vm._s(data.item._countyName)+\" \")]}}],null,true),model:{value:(_vm.countyCode),callback:function ($$v) {_vm.countyCode=$$v},expression:\"countyCode\"}})]}}],null,true)})],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|alpha_num|min:4|max:11\",\"minlength\":\"4\",\"maxlength\":\"11\",\"autocapitalize\":\"characters\",\"label\":\"Member Number\"},model:{value:(_vm.memberNumber),callback:function ($$v) {_vm.memberNumber=$$v},expression:\"memberNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"type\":\"submit\"}},[_vm._v(\"Go to Policyholder Info\")])],1)],1)],1)]}}],null,false,3338573330)})],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"policyholder-login\"\r\n class=\"background-darker-blue tfbins-agent-login\"\r\n v-if=\"isValidUser\">\r\n <v-container class=\"tfbins-agent-login-box\">\r\n <h1 class=\"tfb-title-text-medium text-uppercase\">Agent Access</h1>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form @submit.stop.prevent=\"handleSubmit(logIn)\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <keep-alive>\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required|numeric\"\r\n name=\"Member County\"\r\n v-slot=\"{ errors, valid, required }\">\r\n <v-select outlined\r\n hide-details=\"auto\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n label=\"Member County\"\r\n :items=\"countyList\"\r\n item-text=\"`${data.item._countyId} - ${data.item._countyName}`\"\r\n item-value=\"_countyId\"\r\n v-model=\"countyCode\">\r\n <template v-slot:append>\r\n <v-icon>mdi-asterisk</v-icon>\r\n <v-icon>mdi-menu-down</v-icon>\r\n </template>\r\n <template slot=\"selection\" slot-scope=\"data\">\r\n {{data.item._countyId}} - {{data.item._countyName}}\r\n </template>\r\n <template slot=\"item\" slot-scope=\"data\">\r\n {{data.item._countyId}} - {{data.item._countyName}}\r\n </template>\r\n </v-select>\r\n </ValidationProvider>\r\n </keep-alive>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|alpha_num|min:4|max:11\"\r\n minlength=\"4\"\r\n maxlength=\"11\"\r\n autocapitalize=\"characters\"\r\n label=\"Member Number\"\r\n v-model=\"memberNumber\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-btn block\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Go to Policyholder Info</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n /* eslint no-underscore-dangle: 0 */\r\n import { dispatch } from 'vuex-pathify';\r\n import { ValidationObserver, ValidationProvider } from 'vee-validate';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'PolicyHolderAgentAccess',\r\n mixins: [tfbMetaMixin, tfbHelperMixin],\r\n components: {\r\n ValidationObserver,\r\n ValidationProvider,\r\n },\r\n data() {\r\n return {\r\n countyList: [],\r\n memberNumber: '',\r\n countyCode: '',\r\n isValidUser: false,\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Agent Access | PolicyHolder';\r\n },\r\n includedUser() {\r\n try {\r\n return this.$route.query.u;\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n },\r\n watch: {\r\n memberNumber(val) {\r\n this.memberNumber = val.toUpperCase();\r\n },\r\n },\r\n async mounted() {\r\n dispatch('member/doLogout');\r\n\r\n // Make sure this is a valid user (very loose security, but it's something)\r\n // Check for a QueryString value (ShareNet access method)\r\n // AgentLogin.aspx?i=6447f61ab55478af664240046c9d204509cfdc72&u=UTABC01\r\n const includedToken = this.$route.query.i;\r\n\r\n // Check for member number and county code (CRM access method)\r\n // AgentLogin.aspx?i=6447f61ab55478af664240046c9d204509cfdc72&m=9CDL&c=155\r\n const includedMember = this.$route.query.m;\r\n const includedCounty = this.$route.query.c;\r\n\r\n if (includedToken && includedToken !== '') {\r\n // Build the date value\r\n const seedDate = new Date().getFullYear() + new Date().getDate() + (new Date().getMonth() + 1);\r\n\r\n // Set the text to encrypt\r\n const seedText = 'TxfB';\r\n let seedKey = '';\r\n\r\n for (let i = 0; i < seedText.length; i += 1) {\r\n seedKey += (seedText.charCodeAt(i)).toString(16);\r\n }\r\n\r\n if (seedKey.substr(0, 2) === includedToken.substr(10, 2)) {\r\n if (seedKey.substr(2, 2) === includedToken.substr(12, 2)) {\r\n if (seedKey.substr(4, 2) === includedToken.substr(16, 2)) {\r\n if (seedKey.substr(6, 2) === includedToken.substr(18, 2)) {\r\n if (seedDate.toString() === includedToken.substr(28, 4)) {\r\n this.isValidUser = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (this.isValidUser) {\r\n // Get county list\r\n this.getCountyList();\r\n\r\n if (includedMember && includedMember !== null && includedMember !== '') {\r\n this.memberNumber = includedMember.toUpperCase();\r\n }\r\n\r\n if (includedCounty && includedCounty !== null && includedCounty !== '') {\r\n this.countyCode = includedCounty.toUpperCase();\r\n }\r\n\r\n if (this.memberNumber !== null && this.countyCode !== null && this.memberNumber !== '' && this.countyCode !== '') {\r\n this.logIn();\r\n }\r\n } else {\r\n // Invalid token, no access\r\n this.$router.push({ name: 'home' });\r\n }\r\n } else {\r\n // No token, no access\r\n this.$router.push({ name: 'home' });\r\n }\r\n this.$store.dispatch('app/setIsLoading', false);\r\n },\r\n methods: {\r\n logIn() {\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('member/doAgentLogin', {\r\n sMemberNumber: this.memberNumber.toUpperCase(),\r\n sCountyCode: this.countyCode,\r\n sUser: this.includedUser,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((response) => {\r\n if (response !== '') {\r\n this.$store.dispatch('app/setErrorMessage', response);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } else {\r\n // Go to Account Summary\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'ERROR',\r\n logMessage: error,\r\n fileName: 'AgentAccess.vue',\r\n methodName: 'logIn-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n });\r\n },\r\n getCountyList() {\r\n dispatch('agentcounty/getCountyList')\r\n .then((response) => {\r\n if (response && response.data && response.data._counties) {\r\n this.countyList = response.data._counties;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error);\r\n });\r\n },\r\n },\r\n created() {\r\n dispatch('app/setIsLoading', true);\r\n dispatch('app/clearErrorMessage');\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfbins-agent-login {\r\n padding-top: 100px;\r\n padding-bottom: 100px;\r\n }\r\n\r\n .tfbins-agent-login-box {\r\n background: $white;\r\n padding: 20px 50px;\r\n max-width: 500px;\r\n color: $tfb-darkest-blue;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentAccess.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentAccess.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AgentAccess.vue?vue&type=template&id=69bf3188\"\nimport script from \"./AgentAccess.vue?vue&type=script&lang=js\"\nexport * from \"./AgentAccess.vue?vue&type=script&lang=js\"\nimport style0 from \"./AgentAccess.vue?vue&type=style&index=0&id=69bf3188&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"background-darker-blue tfbins-login\",attrs:{\"id\":\"policyholder-forgot-password\"}},[_c('v-container',{staticClass:\"tfbins-login-box\"},[_c('h1',{staticClass:\"tfb-title-text-medium text-uppercase\"},[_vm._v(\"Forgot Password\")]),(!_vm.submitted)?_c('div',[_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [_c('v-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:4|max:60|all_allowed\",\"minlength\":\"4\",\"maxlength\":\"60\",\"label\":\"Username/Email Address\",\"autocomplete\":\"username\"},model:{value:(_vm.userName),callback:function ($$v) {_vm.userName=$$v},expression:\"userName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\"Reset Password\")])],1)],1)],1)]}}],null,false,2350474282)})],1):_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" An email has been sent to the requested account with further information. If you do not receive an email, please confirm you have entered the same email address used during account registration. \")])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('router-link',{attrs:{\"to\":{ name: 'policyholderRegister'},\"hreflang\":\"en-us\"}},[_vm._v(\"Register\")]),_vm._v(\" | \"),_c('router-link',{attrs:{\"to\":{ name: 'policyholderLogin'},\"hreflang\":\"en-us\"}},[_vm._v(\"Login\")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"policyholder-forgot-password\"\r\n class=\"background-darker-blue tfbins-login\">\r\n <v-container class=\"tfbins-login-box\">\r\n <h1 class=\"tfb-title-text-medium text-uppercase\">Forgot Password</h1>\r\n <div v-if=\"!submitted\">\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form @submit.stop.prevent=\"handleSubmit(onSubmit)\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:4|max:60|all_allowed\"\r\n minlength=\"4\"\r\n maxlength=\"60\"\r\n label=\"Username/Email Address\"\r\n autocomplete=\"username\"\r\n v-model=\"userName\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Reset Password</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </div>\r\n <v-row v-else>\r\n <v-col cols=\"12\">\r\n An email has been sent to the requested account with further information. If you do not receive an email,\r\n please confirm you have entered the same email address used during account registration.\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <router-link :to=\"{ name: 'policyholderRegister'}\"\r\n hreflang=\"en-us\">Register</router-link> |\r\n <router-link :to=\"{ name: 'policyholderLogin'}\"\r\n hreflang=\"en-us\">Login</router-link>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import { ValidationObserver } from 'vee-validate';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'PolicyHolderLogin',\r\n mixins: [tfbDataMixin, tfbMetaMixin, tfbHelperMixin],\r\n components: {\r\n ValidationObserver,\r\n },\r\n data() {\r\n return {\r\n userName: '',\r\n submitted: false,\r\n formDisabled: false,\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Forgot Password | PolicyHolder';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/forgot-password`;\r\n },\r\n },\r\n async mounted() {\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/clearErrorMessage');\r\n await this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'Policyholder', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus === '') {\r\n if (this.isLoggedIn) {\r\n // Redirect where needed\r\n this.doRedirect();\r\n }\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', returnedStatus);\r\n this.formDisabled = true;\r\n }\r\n this.$store.dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n methods: {\r\n onSubmit() {\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('member/doForgotPassword', { sUserName: this.userName, sTfbId: this.trackingId })\r\n .then((response) => {\r\n if (response && (response.indexOf('We have sent your new password') >= 0\r\n || response.indexOf('Password request successfully') >= 0\r\n || response.indexOf('Your password request has been received') >= 0)) {\r\n this.submitted = true;\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', 'Unable to locate an account with that email address. Please try again or register for an account.');\r\n }\r\n this.$store.dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfbins-login {\r\n padding-top: 100px;\r\n padding-bottom: 100px;\r\n }\r\n\r\n .tfbins-login-box {\r\n background: $white;\r\n padding: 20px 50px;\r\n max-width: 600px;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ForgotPassword.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ForgotPassword.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ForgotPassword.vue?vue&type=template&id=f426d7a8\"\nimport script from \"./ForgotPassword.vue?vue&type=script&lang=js\"\nexport * from \"./ForgotPassword.vue?vue&type=script&lang=js\"\nimport style0 from \"./ForgotPassword.vue?vue&type=style&index=0&id=f426d7a8&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"background-darker-blue tfb-conversion\",attrs:{\"id\":\"policyholder-login\"}},[_c('v-container',{staticClass:\"tfb-conversion-box\",attrs:{\"fluid\":\"\"}},[_c('span',{staticClass:\"tfb-title-text-medium text-uppercase\"},[_vm._v(\"Confirm Email Address\")]),(!_vm.showConfirmation)?_c('v-row',[_c('v-col',[_vm._v(\" We need to verify \"),_c('strong',[_vm._v(_vm._s(_vm.emailAddress))]),_vm._v(\" is your correct email address. \")])],1):_vm._e(),(!_vm.showConfirmation)?_c('v-row',[_c('v-col',[_vm._v(\" Please use the button below to complete the one-time verification process. \")])],1):_vm._e(),(_vm.showConfirmation)?_c('v-row',[_c('v-col',[_c('p',[_vm._v(\"You're almost there! We sent an email to \"),_c('strong',[_vm._v(_vm._s(_vm.emailAddress))]),_vm._v(\".\")]),_c('p',[_vm._v(\"Just click on the link in that email to confirm your email address. If you don't see it, you may need to check your spam or junk folder.\")]),_c('p',[_vm._v(\"Still can't find the email?\")])])],1):_vm._e(),_c('v-row',[_c('v-col',{staticClass:\"align-center\"},[(!_vm.showConfirmation)?_c('v-btn',{staticClass:\"tfb-button-min background-red\",attrs:{\"disabled\":_vm.formDisabled},on:{\"click\":function($event){return _vm.sendVerification()}}},[_vm._v(\"Click here to verify your email address\")]):_vm._e(),(_vm.showConfirmation)?_c('v-btn',{staticClass:\"tfb-button-min background-red\",attrs:{\"disabled\":_vm.formDisabled},on:{\"click\":function($event){return _vm.sendVerification()}}},[_vm._v(\"Resend Email\")]):_vm._e()],1)],1),(_vm.showConfirmation)?_c('v-row',[_c('v-col',{staticClass:\"text-center\"},[_vm._v(\" Need Help? Contact Us at \"),_c('a',{attrs:{\"href\":_vm.contactUsPhone.link}},[_vm._v(_vm._s(_vm.contactUsPhone.display))])])],1):_vm._e(),_c('v-row',[_c('v-col',{staticClass:\"text-center\"},[_c('a',{attrs:{\"href\":\"\",\"hreflang\":\"en-us\",\"aria-label\":\"Need to update your email\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleEmailChange()}}},[_vm._v(\"Need to update your email?\")])])],1),(_vm.showEmailChange)?_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [_c('v-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.submitEmailChange)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|email|valid_domain|confirmed:confirmNewEmailAddress|min:4|max:60\",\"minlength\":\"4\",\"maxlength\":\"60\",\"label\":\"Email Address\",\"type\":\"email\"},model:{value:(_vm.newEmailAddress),callback:function ($$v) {_vm.newEmailAddress=$$v},expression:\"newEmailAddress\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|email|min:4|max:60\",\"minlength\":\"4\",\"maxlength\":\"60\",\"label\":\"Confirm Email Address\",\"type\":\"email\",\"vid\":\"confirmNewEmailAddress\"},model:{value:(_vm.confirmNewEmailAddress),callback:function ($$v) {_vm.confirmNewEmailAddress=$$v},expression:\"confirmNewEmailAddress\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\"Change Email Address\")])],1)],1)],1)]}}],null,false,1643292982)}):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"policyholder-login\"\r\n class=\"background-darker-blue tfb-conversion\">\r\n <v-container fluid\r\n class=\"tfb-conversion-box\">\r\n <span class=\"tfb-title-text-medium text-uppercase\">Confirm Email Address</span>\r\n <v-row v-if=\"!showConfirmation\">\r\n <v-col>\r\n We need to verify <strong>{{emailAddress}}</strong> is your correct email address.\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"!showConfirmation\">\r\n <v-col>\r\n Please use the button below to complete the one-time verification process.\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"showConfirmation\">\r\n <v-col>\r\n <p>You're almost there! We sent an email to <strong>{{emailAddress}}</strong>.</p>\r\n <p>Just click on the link in that email to confirm your email address. If you don't see it, you may need to check your spam or junk folder.</p>\r\n <p>Still can't find the email?</p>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col class=\"align-center\">\r\n <v-btn @click=\"sendVerification()\"\r\n :disabled=\"formDisabled\"\r\n class=\"tfb-button-min background-red\"\r\n v-if=\"!showConfirmation\">Click here to verify your email address</v-btn>\r\n <v-btn @click=\"sendVerification()\"\r\n :disabled=\"formDisabled\"\r\n class=\"tfb-button-min background-red\"\r\n v-if=\"showConfirmation\">Resend Email</v-btn>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"showConfirmation\">\r\n <v-col class=\"text-center\">\r\n Need Help? Contact Us at <a :href=\"contactUsPhone.link\">{{ contactUsPhone.display }}</a>\r\n </v-col>\r\n </v-row>\r\n <!-- Need to change email -->\r\n <v-row>\r\n <v-col class=\"text-center\">\r\n <a href=\"\"\r\n v-on:click.prevent=\"toggleEmailChange()\"\r\n hreflang=\"en-us\"\r\n aria-label=\"Need to update your email\">Need to update your email?</a>\r\n </v-col>\r\n </v-row>\r\n <ValidationObserver ref=\"obv\"\r\n v-slot=\"{ handleSubmit }\"\r\n v-if=\"showEmailChange\">\r\n <v-form @submit.stop.prevent=\"handleSubmit(submitEmailChange)\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|email|valid_domain|confirmed:confirmNewEmailAddress|min:4|max:60\"\r\n minlength=\"4\"\r\n maxlength=\"60\"\r\n label=\"Email Address\"\r\n type=\"email\"\r\n v-model=\"newEmailAddress\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|email|min:4|max:60\"\r\n minlength=\"4\"\r\n maxlength=\"60\"\r\n label=\"Confirm Email Address\"\r\n type=\"email\"\r\n v-model=\"confirmNewEmailAddress\"\r\n vid=\"confirmNewEmailAddress\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Change Email Address</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import { ValidationObserver } from 'vee-validate';\r\n import tfbMetaInfo from '@/mixins/metaInfo';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'EmailVerification',\r\n mixins: [tfbMetaInfo, tfbHelperMixin, tfbDataMixin],\r\n components: {\r\n ValidationObserver,\r\n },\r\n directives: {},\r\n data() {\r\n return {\r\n newEmailAddress: null,\r\n confirmNewEmailAddress: null,\r\n showConfirmation: false,\r\n showEmailChange: false,\r\n formDisabled: false,\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Email Verification | PolicyHolder';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/verify-email`;\r\n },\r\n emailAddress() {\r\n try {\r\n return this.$store.getters['member/emailAddress'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n emailVerified() {\r\n try {\r\n return this.$store.getters['member/verifiedIndicator'];\r\n } catch (error) {\r\n return true;\r\n }\r\n },\r\n },\r\n methods: {\r\n toggleEmailChange() {\r\n if (this.showEmailChange === true) {\r\n this.showEmailChange = false;\r\n } else {\r\n this.showEmailChange = true;\r\n }\r\n },\r\n sendVerification() {\r\n this.emailSuccess = false;\r\n this.verificationSuccess = false;\r\n dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.formDisabled = true;\r\n dispatch('member/sendEmailVerification', {\r\n sEmailAddress: this.emailAddress, sIncludeAllMembers: true, sTfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n // Update was successful\r\n this.showConfirmation = true;\r\n this.formDisabled = false;\r\n // Hide change email section\r\n this.showEmailChange = false;\r\n dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n this.formDisabled = false;\r\n dispatch('app/setErrorMessage', error);\r\n dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n submitEmailChange() {\r\n dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.formDisabled = true;\r\n // Make sure new email address is different than old email address\r\n if (this.emailAddress.toUpperCase().trim() === this.newEmailAddress.toUpperCase().trim()) {\r\n dispatch('app/setErrorMessage', 'New email address is the same as the current email address. Please enter a different email address to change your email address.');\r\n this.formDisabled = false;\r\n dispatch('app/setIsLoading', false);\r\n } else {\r\n dispatch('member/updateEmailAddress', {\r\n sOldEmailAddress: this.emailAddress,\r\n sNewEmailAddress: this.newEmailAddress,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((response) => {\r\n if (response.indexOf('verification request has been received') >= 0) {\r\n // Hide change email section\r\n this.showEmailChange = false;\r\n // Show success message\r\n this.showConfirmation = true;\r\n dispatch('app/setIsLoading', false);\r\n this.formDisabled = true;\r\n } else {\r\n dispatch('app/setErrorMessage', response);\r\n dispatch('app/setIsLoading', false);\r\n this.formDisabled = false;\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n this.formDisabled = false;\r\n dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'EmailVerification.vue',\r\n methodName: 'submitEmailChange-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n });\r\n }\r\n },\r\n },\r\n watch: {},\r\n created() {},\r\n mounted() {\r\n dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `Email verified? ${this.emailVerified}`,\r\n fileName: 'EmailVerification.vue',\r\n methodName: 'mounted',\r\n trackerId: this.trackingId,\r\n });\r\n // Check to see if application is available/enabled\r\n dispatch('app/doApplicationCheck', { sApplicationName: 'Policyholder', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n // Is there an outage message or not?\r\n if (returnedStatus === '') {\r\n // No outage message; is this person logged in?\r\n if (this.isLoggedIn) {\r\n // Logged in; is this log in still valid?\r\n const includedToken = this.$route.query.access_token;\r\n dispatch('member/validateLogin', { sToken: includedToken, sTfbId: this.trackingId })\r\n .then((loginValid) => {\r\n if (loginValid) {\r\n // Is the email still in need of verification?\r\n if (this.emailVerified) {\r\n // Email already verified, redirect to Account Summary\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n }\r\n dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n } else {\r\n // See if this is an SSO session\r\n const includedToken = this.$route.query.access_token;\r\n\r\n if (includedToken && includedToken !== '') {\r\n // We have a token, see if we can log in\r\n dispatch('member/doSsoLogin', { sAccessToken: includedToken, sTfbId: this.trackingId })\r\n .then((response) => {\r\n dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: response,\r\n fileName: 'EmailVerification.vue',\r\n methodName: 'doSsoLogin-Success',\r\n trackerId: this.trackingId,\r\n });\r\n\r\n if (response === 'invalid_grant') {\r\n dispatch('app/setErrorMessage', 'Username/Password Not Found');\r\n dispatch('app/setIsLoading', false);\r\n }\r\n\r\n if (response !== '') {\r\n dispatch('app/setErrorMessage', response);\r\n dispatch('app/setIsLoading', false);\r\n } else {\r\n dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'EmailVerification.vue',\r\n methodName: 'doSsoLogin-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n });\r\n }\r\n dispatch('app/setIsLoading', false);\r\n }\r\n } else {\r\n dispatch('app/setErrorMessage', returnedStatus);\r\n dispatch('app/setIsLoading', false);\r\n this.formDisabled = true;\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailVerification.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailVerification.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./EmailVerification.vue?vue&type=template&id=39d03090\"\nimport script from \"./EmailVerification.vue?vue&type=script&lang=js\"\nexport * from \"./EmailVerification.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"background-darker-blue tfb-conversion\",attrs:{\"id\":\"policyholder-login\"}},[_c('v-container',{staticClass:\"tfb-conversion-box\",attrs:{\"fluid\":\"\"}},[_c('span',{staticClass:\"tfb-title-text-medium text-uppercase\"},[_vm._v(\"Convert Your User Id\")]),(!_vm.showConfirmation)?_c('v-row',[_c('v-col',[_vm._v(\" We've made some changes to our online account management system. \"),_c('strong',[_vm._v(\" From now on, instead of using your current User ID to log in, you'll use your email address. \")]),_c('br')])],1):_vm._e(),(!_vm.showConfirmation)?_c('v-row',[_c('v-col',[_c('h5',{staticClass:\"header-text text-medium\"},[_vm._v(\" Please enter the email address you would like to use for your log in below. \")])])],1):_vm._e(),(!_vm.showConfirmation)?_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [_c('v-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|email|valid_domain|confirmed:username|min:4|max:60\",\"minlength\":\"4\",\"maxlength\":\"60\",\"label\":\"Email Address\",\"type\":\"email\"},model:{value:(_vm.userName),callback:function ($$v) {_vm.userName=$$v},expression:\"userName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|email|min:4|max:60\",\"minlength\":\"4\",\"maxlength\":\"60\",\"label\":\"Confirm Email Address\",\"type\":\"email\",\"vid\":\"username\"},model:{value:(_vm.confirmUserName),callback:function ($$v) {_vm.confirmUserName=$$v},expression:\"confirmUserName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\"Convert My User Id\")])],1)],1)],1)]}}],null,false,1355383678)}):_vm._e(),(_vm.showConfirmation)?_c('span',{staticClass:\"tfb-title-text-small\"},[_c('br'),_vm._v(\"Thank You!\")]):_vm._e(),(_vm.showConfirmation)?_c('v-row',[_c('v-col',[_c('p',[_vm._v(\"A verification link has been sent to your email address.\")]),_c('p',[_vm._v(\"Please follow the instructions within the email message to complete the one-step verification.\")])])],1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"policyholder-login\"\r\n class=\"background-darker-blue tfb-conversion\">\r\n <v-container fluid\r\n class=\"tfb-conversion-box\">\r\n <span class=\"tfb-title-text-medium text-uppercase\">Convert Your User Id</span>\r\n <v-row v-if=\"!showConfirmation\">\r\n <v-col>\r\n We've made some changes to our online account management system.\r\n <strong>\r\n From now on, instead of using your current User ID to log in,\r\n you'll use your email address.\r\n </strong><br />\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"!showConfirmation\">\r\n <v-col>\r\n <h5 class=\"header-text text-medium\">\r\n Please enter the email address you would like to use for your log in below.\r\n </h5>\r\n </v-col>\r\n </v-row>\r\n <ValidationObserver ref=\"obv\"\r\n v-slot=\"{ handleSubmit }\"\r\n v-if=\"!showConfirmation\">\r\n <v-form @submit.stop.prevent=\"handleSubmit(onSubmit)\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|email|valid_domain|confirmed:username|min:4|max:60\"\r\n minlength=\"4\"\r\n maxlength=\"60\"\r\n label=\"Email Address\"\r\n type=\"email\"\r\n v-model=\"userName\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|email|min:4|max:60\"\r\n minlength=\"4\"\r\n maxlength=\"60\"\r\n label=\"Confirm Email Address\"\r\n type=\"email\"\r\n v-model=\"confirmUserName\"\r\n vid=\"username\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Convert My User Id</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n <span v-if=\"showConfirmation\"\r\n class=\"tfb-title-text-small\"><br />Thank You!</span>\r\n <v-row v-if=\"showConfirmation\">\r\n <v-col>\r\n <p>A verification link has been sent to your email address.</p>\r\n <p>Please follow the instructions within the email message to complete the one-step verification.</p>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import { ValidationObserver } from 'vee-validate';\r\n import tfbMetaInfo from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'IdConversion',\r\n mixins: [tfbMetaInfo, tfbHelperMixin],\r\n components: {\r\n ValidationObserver,\r\n },\r\n data() {\r\n return {\r\n userName: null,\r\n confirmUserName: null,\r\n showConfirmation: false,\r\n formDisabled: false,\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Id Conversion';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/id-conversion`;\r\n },\r\n emailAddress() {\r\n try {\r\n return this.$store.getters['member/emailAddress'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n idNeedsConvert() {\r\n try {\r\n return this.$store.getters['member/conversionIndicator'];\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n },\r\n methods: {\r\n async onSubmit() {\r\n dispatch('app/setIsLoading', true);\r\n dispatch('app/clearErrorMessage');\r\n await dispatch('member/doIdConversion', { sNewUserName: this.userName, sOldUserName: this.$store.state.member.userName, sTfbId: this.trackingId })\r\n .then((response) => {\r\n if (response.indexOf('verification request has been received') >= 0) {\r\n // Redirect where needed\r\n // this.doRedirect();\r\n this.showConfirmation = true;\r\n dispatch('app/setIsLoading', false);\r\n } else {\r\n dispatch('app/setErrorMessage', response);\r\n dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'Login.vue',\r\n methodName: 'doLogin-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n });\r\n },\r\n },\r\n async mounted() {\r\n dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `Id needs conversion? ${this.idNeedsConvert}`,\r\n fileName: 'IdConversion.vue',\r\n methodName: 'mounted',\r\n trackerId: this.trackingId,\r\n });\r\n // Check to see if application is available/enabled\r\n await dispatch('app/doApplicationCheck', { sApplicationName: 'Policyholder', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n // Is there an outage message or not?\r\n if (returnedStatus === '') {\r\n // No outage message; is this person logged in?\r\n if (this.isLoggedIn) {\r\n // Logged in; is this log in still valid?\r\n const includedToken = this.$route.query.access_token;\r\n dispatch('member/validateLogin', { sToken: includedToken, sTfbId: this.trackingId })\r\n .then((loginValid) => {\r\n if (loginValid) {\r\n // Is the id still in need of conversion?\r\n if (!this.idNeedsConvert) {\r\n // Id already converted, redirect to Account Summary\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n }\r\n\r\n // Prefill with existing email\r\n this.userName = this.emailAddress;\r\n }\r\n dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n } else {\r\n // See if this is an SSO session\r\n const includedToken = this.$route.query.access_token;\r\n\r\n if (includedToken && includedToken !== '') {\r\n // We have a token, see if we can log in\r\n dispatch('member/doSsoLogin', { sAccessToken: includedToken, sTfbId: this.trackingId })\r\n .then((response) => {\r\n dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: response,\r\n fileName: 'IdConversion.vue',\r\n methodName: 'doSsoLogin-Success',\r\n trackerId: this.trackingId,\r\n });\r\n\r\n if (response === 'invalid_grant') {\r\n dispatch('app/setErrorMessage', 'Username/Password Not Found');\r\n dispatch('app/setIsLoading', false);\r\n }\r\n\r\n if (response !== '') {\r\n dispatch('app/setErrorMessage', response);\r\n dispatch('app/setIsLoading', false);\r\n } else {\r\n // Prefill with existing email\r\n this.userName = this.$store.state.member.emailAddress;\r\n dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'IdConversion.vue',\r\n methodName: 'doSsoLogin-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n });\r\n }\r\n dispatch('app/setIsLoading', false);\r\n }\r\n } else {\r\n dispatch('app/setErrorMessage', returnedStatus);\r\n dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IdConversion.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IdConversion.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./IdConversion.vue?vue&type=template&id=6aef2872\"\nimport script from \"./IdConversion.vue?vue&type=script&lang=js\"\nexport * from \"./IdConversion.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"background-darker-blue tfb-conversion\",attrs:{\"id\":\"policyholder-pwreset\"}},[_c('v-container',{staticClass:\"tfb-conversion-box\",attrs:{\"fluid\":\"\"}},[_c('span',{staticClass:\"tfb-title-text-medium text-uppercase\"},[_vm._v(\"Reset Password\")]),_c('v-row',[_c('v-col',[_vm._v(\" Please change your password below.\"),_c('br'),_c('br'),_vm._v(\" Once you have successfully changed your password, you will be redirected to login using your new password.\"),_c('br')])],1),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [_c('v-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('v-row',[_c('v-col',[_c('text-input',{attrs:{\"rules\":\"required|all_allowed|min:16|max:99|confirmed:password|hasMoreThanNConcurrentLetters:2|hasNUppercaseLetters:1|hasNNumbers:2\",\"minlength\":\"16\",\"maxlength\":\"99\",\"label\":\"Password\",\"disabled\":_vm.formDisabled,\"type\":\"password\"},model:{value:(_vm.passWord),callback:function ($$v) {_vm.passWord=$$v},expression:\"passWord\"}})],1)],1),_c('v-row',[_c('v-col',[_c('text-input',{attrs:{\"rules\":\"required|min:16|max:99\",\"minlength\":\"16\",\"maxlength\":\"99\",\"label\":\"Confirm Password\",\"disabled\":_vm.formDisabled,\"type\":\"password\",\"vid\":\"password\"},model:{value:(_vm.confirmPassWord),callback:function ($$v) {_vm.confirmPassWord=$$v},expression:\"confirmPassWord\"}})],1)],1),_c('v-row',[_c('v-col',[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\"Reset Password\")])],1)],1)],1)]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"policyholder-pwreset\"\r\n class=\"background-darker-blue tfb-conversion\">\r\n <v-container fluid\r\n class=\"tfb-conversion-box\">\r\n <span class=\"tfb-title-text-medium text-uppercase\">Reset Password</span>\r\n <v-row>\r\n <v-col>\r\n Please change your password below.<br />\r\n <br />\r\n Once you have successfully changed your password,\r\n you will be redirected to login using your new password.<br />\r\n </v-col>\r\n </v-row>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form @submit.stop.prevent=\"handleSubmit(onSubmit)\">\r\n <v-row>\r\n <v-col>\r\n <text-input rules=\"required|all_allowed|min:16|max:99|confirmed:password|hasMoreThanNConcurrentLetters:2|hasNUppercaseLetters:1|hasNNumbers:2\"\r\n minlength=\"16\"\r\n maxlength=\"99\"\r\n label=\"Password\"\r\n v-model=\"passWord\"\r\n :disabled=\"formDisabled\"\r\n type=\"password\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col>\r\n <text-input rules=\"required|min:16|max:99\"\r\n minlength=\"16\"\r\n maxlength=\"99\"\r\n label=\"Confirm Password\"\r\n v-model=\"confirmPassWord\"\r\n :disabled=\"formDisabled\"\r\n type=\"password\"\r\n vid=\"password\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col>\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Reset Password</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import { ValidationObserver } from 'vee-validate';\r\n import tfbMetaInfo from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'ResetPassword',\r\n mixins: [tfbMetaInfo, tfbHelperMixin],\r\n components: {\r\n ValidationObserver,\r\n },\r\n data() {\r\n return {\r\n formDisabled: false,\r\n passWord: '',\r\n confirmPassWord: '',\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Reset Password';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/manage-account/password-reset`;\r\n },\r\n validationCode() {\r\n try {\r\n return this.$route.query.i;\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n emailAddress() {\r\n try {\r\n return this.$route.query.e;\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n memberList() {\r\n try {\r\n return this.$store.getters['member/memberList'];\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n },\r\n methods: {\r\n onSubmit() {\r\n dispatch('app/setIsLoading', true);\r\n dispatch('app/clearErrorMessage');\r\n // Update the password\r\n dispatch('member/updatePassword', {\r\n sUserName: this.emailAddress, sNewPassword: this.passWord, sMemberList: this.memberList, sTfbId: this.trackingId,\r\n })\r\n .then((updateResponse) => {\r\n if (updateResponse && updateResponse.indexOf('updated') >= 0) {\r\n // Update was successful, send them back to the log in page\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n dispatch('app/setErrorMessage', accessError.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n } else {\r\n dispatch('app/setErrorMessage', updateResponse);\r\n }\r\n dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error);\r\n dispatch('app/setIsLoading', false);\r\n dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'ResetPassword.vue',\r\n methodName: 'onSubmit-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n });\r\n },\r\n },\r\n async mounted() {\r\n dispatch('app/setIsLoading', true);\r\n await dispatch('app/doApplicationCheck', { sApplicationName: 'Policyholder', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus !== '') {\r\n // Application is unavailable\r\n dispatch('app/setErrorMessage', returnedStatus);\r\n this.formDisabled = true;\r\n dispatch('app/setIsLoading', false);\r\n } else {\r\n // Application is available; Check the validation code is present\r\n if (this.validationCode && this.validationCode !== null && this.validationCode !== '') {\r\n // Check if the validation code is valid\r\n this.$store.dispatch('member/doPasswordVerification', { sValidationCode: this.validationCode, sEmailAddress: this.emailAddress, sTfbId: this.trackingId })\r\n .then((response) => {\r\n if (response && response.ReturnMessage && response.ReturnMessage.indexOf('SUCCESS') >= 0) {\r\n // Successful response\r\n this.formDisabled = false;\r\n } else {\r\n // Invalid link\r\n this.$store.dispatch('app/setErrorMessage', 'Unable to locate an account with that email address. Please try again or register for a new account.');\r\n this.formDisabled = true;\r\n }\r\n this.$store.dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.formDisabled = true;\r\n });\r\n } else {\r\n // Reset password for some other reason, allow the change\r\n this.formDisabled = false;\r\n }\r\n dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n this.formDisabled = true;\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ResetPassword.vue?vue&type=template&id=7b74999f\"\nimport script from \"./ResetPassword.vue?vue&type=script&lang=js\"\nexport * from \"./ResetPassword.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"account-summary\"}},[_c('v-container',{staticClass:\"tfb-container pb-10\",attrs:{\"fluid\":\"\"}},[_c('h1',{staticClass:\"tfb-title-text-medium text-darker-blue text-uppercase\"},[_vm._v(\"Account Summary\")]),_c('print-date'),_c('membership-header'),(_vm.accountBillList)?_c('div',_vm._l((_vm.accountBillList),function(accountBill){return _c('v-row',{key:accountBill.MasterAccountNumber},[_c('v-col',[_c('v-container',{staticClass:\"active-policy drop-shadow\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{staticClass:\"d-none d-sm-flex no-print pl-lg-4\",attrs:{\"sm\":\"2\",\"md\":\"1\"}},[_c('v-avatar',{staticClass:\"policy-icon no-print\"},[_c('img',{attrs:{\"src\":accountBill.IconPath,\"alt\":accountBill.Description,\"aria-hidden\":\"true\"}})])],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"10\",\"md\":\"6\"}},[_c('span',{staticClass:\"tfb-title-text-small text-uppercase\",domProps:{\"innerHTML\":_vm._s(accountBill.Description)}}),_vm._v(\"   \"),(accountBill.DetailPath)?_c('router-link',{staticClass:\"tfb-title-text-smaller\",attrs:{\"to\":{ name: 'policyholderPolicyDetail', params: { policyType: accountBill.DetailPath, policyNumber: accountBill.MasterAccountNumber }}}},[_vm._v(\" \"+_vm._s(accountBill.MasterAccountNumber)+\" \")]):_c('span',{staticClass:\"tfb-title-text-smaller\"},[_vm._v(_vm._s(accountBill.MasterAccountNumber))]),_c('br'),_c('div',{staticClass:\"text-uppercase py-1\"},[_vm._v(\" \"+_vm._s(accountBill.InsuredFullName)+\" \")]),_c('account-bill-billing-display',{attrs:{\"account-bill\":accountBill}})],1),_c('link-list',{attrs:{\"displayLocation\":\"summary\",\"displayType\":\"accountbill\",\"policyAccount\":accountBill}})],1),_c('print-date')],1)],1)],1)}),1):_vm._e(),(_vm.policyLoading && !_vm.policyList)?_c('div',_vm._l((3),function(i){return _c('v-row',{key:i},[_c('v-col',[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"loading\":_vm.policyLoading,\"type\":\"list-item-avatar-three-line\"}})],1)],1)}),1):_vm._e(),(!_vm.policyLoading && (!_vm.policyList || _vm.policyList.length === 0))?_c('div',[_c('v-row',[_c('v-col',[_vm._v(\" No Policies Found \")])],1),_c('print-date')],1):_vm._e(),(_vm.policyList)?_c('div',_vm._l((_vm.policyList),function(policy){return _c('v-row',{key:policy.PolicyNumber},[_c('v-col',[_c('v-container',{class:[ policy.PolicyStatus === 'INACTIVE' ? 'inactive-policy' : 'background-white', 'drop-shadow' ],attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{staticClass:\"d-none d-sm-flex no-print pl-lg-4\",attrs:{\"sm\":\"2\",\"md\":\"1\"}},[_c('v-avatar',{staticClass:\"policy-icon no-print\"},[_c('img',{attrs:{\"src\":policy.IconPath,\"alt\":policy.PolicyDescription,\"aria-hidden\":\"true\"}})])],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"10\",\"md\":\"6\"}},[_c('span',{staticClass:\"tfb-title-text-small text-uppercase\",domProps:{\"innerHTML\":_vm._s(policy.PolicyDescription)}}),_vm._v(\"   \"),(policy.PolicyLinkFlag === 'Y' && policy.DetailPath !== '')?_c('router-link',{staticClass:\"tfb-title-text-smaller\",attrs:{\"to\":{ name: 'policyholderPolicyDetail', params: { policyType: policy.DetailPath, policyNumber: policy.PolicyNumber }}}},[_vm._v(\" \"+_vm._s(policy.PolicyNumber)+\" \")]):_c('span',{staticClass:\"tfb-title-text-smaller\"},[_vm._v(\" \"+_vm._s(policy.PolicyNumber)+\" \")]),(policy.PolicyStatus === 'INACTIVE')?_c('v-icon',{on:{\"click\":function($event){$event.stopPropagation();_vm.inactiveDialog = true}}},[_vm._v(\"mdi-information-outline\")]):_vm._e(),_c('br'),_c('div',{class:[ policy.PolicyStatus === 'INACTIVE' ? 'inactive-policy-name' : '', 'text-uppercase', 'py-1' ]},[_vm._v(\" \"+_vm._s(policy.PolicyInsuredName)+\" \")]),(policy.PolicyType !== 'PR')?_c('div',{staticClass:\"py-1\"},[_vm._v(\" \"+_vm._s(_vm.formatDate(policy.PolicyEffectiveDate))+\" - \"+_vm._s(_vm.formatDate(policy.PolicyExpirationDate))+\" \")]):_vm._e(),(policy.PropertyLocation && policy.PropertyLocation.trim() !== '')?_c('div',{staticClass:\"py-1 text-uppercase\"},[_vm._v(\" \"+_vm._s(policy.PropertyLocation)+\" \")]):_vm._e(),_c('policy-billing-display',{attrs:{\"policy\":policy}})],1),_c('link-list',{attrs:{\"displayLocation\":\"summary\",\"displayType\":\"policy\",\"policyAccount\":policy}})],1),_c('print-date')],1)],1)],1)}),1):_vm._e()],1),_c('v-dialog',{attrs:{\"max-width\":\"290\"},model:{value:(_vm.inactiveDialog),callback:function ($$v) {_vm.inactiveDialog=$$v},expression:\"inactiveDialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\"Inactive Policy\")]),_c('v-card-text',[_vm._v(\" Your policy is INACTIVE. Please pay the current balance due amount if one is present. Please note that paying the current balance due WILL NOT make your policy active. If you would like to reissue your policy, please contact your agent. \")]),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\"},on:{\"click\":function($event){_vm.inactiveDialog = false}}},[_vm._v(\" Close \")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[(!_vm.delinquentIndicator)?_c('a',{attrs:{\"href\":_vm.membershipPaymentsUrl,\"target\":\"_blank\"}},[_vm._v(\" Make a Membership Payment \")]):_c('span',{staticClass:\"header-text text-red\"},[_vm._v(\" To serve you better, you will be given an opportunity to pay your membership dues when making a payment below. \")])])],1),(_vm.memberList && _vm.memberList.length > 1)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"7\",\"md\":\"5\",\"lg\":\"4\"}},[_c('strong',[_vm._v(\" Looking for a different membership? \")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-select',{attrs:{\"outlined\":\"\",\"dense\":\"\",\"items\":_vm.filteredMemberList,\"item-text\":\"Lng\",\"item-value\":\"Lng\",\"hide-details\":\"auto\",\"return-object\":\"\"},on:{\"change\":function($event){return _vm.switchMembership()}},model:{value:(_vm.switchMember),callback:function ($$v) {_vm.switchMember=$$v},expression:\"switchMember\"}})],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <a :href=\"membershipPaymentsUrl\"\r\n v-if=\"!delinquentIndicator\"\r\n target=\"_blank\">\r\n Make a Membership Payment\r\n </a>\r\n <span class=\"header-text text-red\"\r\n v-else>\r\n To serve you better, you will be given an opportunity to pay your membership dues when making a payment below.\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"memberList && memberList.length > 1\">\r\n <v-col cols=\"12\"\r\n sm=\"7\"\r\n md=\"5\"\r\n lg=\"4\">\r\n <strong>\r\n Looking for a different membership?\r\n </strong>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"4\">\r\n <v-select outlined\r\n dense\r\n :items=\"filteredMemberList\"\r\n item-text=\"Lng\"\r\n item-value=\"Lng\"\r\n hide-details=\"auto\"\r\n return-object\r\n v-model=\"switchMember\"\r\n v-on:change=\"switchMembership()\">\r\n </v-select>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'MembershipHeader',\r\n mixins: [tfbHelperMixin],\r\n data() {\r\n return {\r\n membershipPaymentsBaseUrl: '',\r\n switchMember: null,\r\n };\r\n },\r\n computed: {\r\n delinquentIndicator() {\r\n try {\r\n return this.$store.getters['member/delinquentIndicator'];\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n memberList() {\r\n try {\r\n return this.$store.getters['member/memberList'];\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n memberNumber() {\r\n try {\r\n return this.$store.getters['member/memberNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n memberZipCode() {\r\n try {\r\n const memberAddress = this.$store.getters['member/memberAddress'];\r\n if (memberAddress && memberAddress.Zipcode) {\r\n return memberAddress.Zipcode.length > 5 ? memberAddress.Zipcode.substr(0, 5) : memberAddress.Zipcode;\r\n }\r\n return '';\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n membershipPaymentsUrl() {\r\n const gwPaymentsEnabled = this.$store.getters['app/guidewirePaymentsEnabled'];\r\n const membershipBaseUrl = this.$store.getters['app/membershipPaymentsUrl'];\r\n\r\n if (gwPaymentsEnabled && gwPaymentsEnabled === 'Y') {\r\n return membershipBaseUrl;\r\n }\r\n\r\n let buildUrl = `${membershipBaseUrl}?mbrnum=${this.memberNumber}`;\r\n if (this.memberZipCode && this.memberZipCode !== '') {\r\n buildUrl += `&zip=${this.memberZipCode}`;\r\n }\r\n\r\n return buildUrl;\r\n },\r\n filteredMemberList() {\r\n let search = null;\r\n if (this.memberNumber) {\r\n search = this.memberNumber;\r\n }\r\n if (!search) return this.memberList;\r\n if (!this.memberList) return this.memberList;\r\n return this.memberList.filter(c => c.Nbr.toUpperCase().indexOf(search) < 0);\r\n },\r\n },\r\n methods: {\r\n switchMembership() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n\r\n dispatch('member/switchMembership', { sMemberNumber: this.switchMember.Lng, sMemberId: this.switchMember.Id, sTfbId: this.trackingId })\r\n .then((switchResult) => {\r\n if (switchResult) {\r\n this.switchMember = null;\r\n }\r\n dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MembershipHeader.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MembershipHeader.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MembershipHeader.vue?vue&type=template&id=3912bbe4\"\nimport script from \"./MembershipHeader.vue?vue&type=script&lang=js\"\nexport * from \"./MembershipHeader.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-col',{staticClass:\"policy-separator\",attrs:{\"cols\":\"12\",\"md\":\"5\"}},[(_vm.displayType === 'accountbill')?_c('div',[(_vm.policyAccount.DetailPath && _vm.displayLocation === 'summary')?_c('router-link',{attrs:{\"to\":{ name: 'policyholderPolicyDetail', params: { policyType: _vm.policyAccount.DetailPath, policyNumber: _vm.policyAccount.MasterAccountNumber }}}},[_vm._v(\" View Account Details\"),_c('br')]):_vm._e(),_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.recurringPayments(_vm.policyAccount.CurrentRecurring,_vm.policyAccount.MasterAccountNumber,'AB','0',_vm.policyAccount.InsuredFullName,'')}}},[(_vm.policyAccount.CurrentRecurring === 'CHANGE')?_c('span',[_vm._v(\"Modify Recurring Payments\")]):_c('span',[_vm._v(\"Schedule Recurring Payments\")]),_c('br')]),(_vm.showTextEnrollmentLink || _vm.showEbillEnrollmentLink)?_c('router-link',{attrs:{\"to\":{ name: 'policyholderAccountManagement', hash: '#ebill'}}},[(_vm.showTextEnrollmentLink)?_c('span',[_vm._v(\"E-bill Paperless Billing and Text Message Notifications Settings\")]):(_vm.policyAccount.EbillStatus === 'Y')?_c('span',[_vm._v(\"Modify E-billing\")]):_c('span',[_vm._v(\"Sign Up For E-billing\")]),_c('br')]):_c('span',[(_vm.showTextEnrollmentLink)?_c('span',[_vm._v(\"Not Currently Eligible For E-bill Paperless Billing or Text Message Notifications\")]):_c('span',[_vm._v(\"Not Currently Eligible For E-bill Paperless Billing\")]),_c('br')]),(_vm.policyAccount.AccountBillEligibleFlag === 'Y')?_c('router-link',{attrs:{\"to\":{ name: 'policyholderAccountBill' }}},[_vm._v(\" Sign Up For Account Bill\"),_c('br')]):_vm._e(),_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.getCurrentBillingDocument(_vm.policyAccount.MasterAccountNumber,'AB','0',_vm.policyAccount.MemberNumber)}}},[_vm._v(\" View Current Bill \")]),_vm._v(\" \"),_c('v-icon',{staticClass:\"mdi-18px\"},[_vm._v(\"mdi-open-in-new\")]),_c('br')],1):_c('div',[(_vm.policyAccount.PolicyLinkFlag === 'Y' && _vm.policyAccount.DetailPath !== '' && _vm.displayLocation === 'summary')?_c('router-link',{attrs:{\"to\":{ name: 'policyholderPolicyDetail', params: { policyType: _vm.policyAccount.DetailPath, policyNumber: _vm.policyAccount.PolicyNumber }}}},[_vm._v(\" View Policy Details\"),_c('br')]):_vm._e(),(_vm.policyAccount.LaurusFlag === 'Y' || _vm.policyAccount.GuidewireFlag === 'Y')?_c('span',[(_vm.policyAccount.PolicyStatus === 'ACTIVE' && _vm.policyAccount.MasterAccountNumber === '')?_c('span',[((_vm.policyAccount.CurrentRecurring === 'SIGNUP' || _vm.policyAccount.CurrentRecurring === 'CHANGE') && _vm.policyAccount.GuidewireFlag !== 'Y' && _vm.policyAccount.HasGuidewireEquivalent !== 'Y')?_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.recurringPayments(_vm.policyAccount.CurrentRecurring, _vm.policyAccount.PolicyNumber, _vm.policyAccount.PolicyType,\n _vm.policyAccount.PolicySubType, _vm.policyAccount.PolicyInsuredName, _vm.policyAccount.PolicyEffectiveDate)}}},[(_vm.policyAccount.CurrentRecurring === 'CHANGE')?_c('span',[_vm._v(\"Modify Recurring Payments\")]):_c('span',[_vm._v(\"Schedule Recurring Payments\")]),_c('br')]):_vm._e(),((_vm.policyAccount.GuidewireFlag === 'Y' || _vm.policyAccount.HasGuidewireEquivalent === 'Y') && _vm.policyAccount.PolicyRecurringFlag !== 'X')?_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.invoiceCloudRecurringPayments(_vm.policyAccount.PolicyNumber)}}},[_vm._v(\" Schedule Recurring Payments \"),_c('br')]):_vm._e(),(_vm.policyAccount.GuidewireFlag === 'Y' || _vm.policyAccount.HasGuidewireEquivalent === 'Y')?_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.invoiceCloudPaymentMethods(_vm.policyAccount.PolicyNumber)}}},[_vm._v(\" Manage Saved Payment Methods \"),_c('br')]):_vm._e(),(_vm.showTextEnrollmentLink || _vm.showEbillEnrollmentLink)?_c('router-link',{attrs:{\"to\":{ name: 'policyholderAccountManagement', hash: '#ebill'}}},[_vm._v(\" E-bill Paperless Billing and Text Message Notifications Settings\"),_c('br')]):_vm._e(),(_vm.showPolicyEnrollmentLink !== null && _vm.showPolicyEnrollmentLink)?_c('router-link',{attrs:{\"to\":{ name: 'policyholderAccountManagement', hash: '#paperless'}}},[(_vm.policyAccount.PaperlessFlag === 'Y')?_c('span',[_vm._v(\"Modify Paperless Notifications\")]):_c('span',[_vm._v(\"Sign Up For Paperless Notifications\")]),_c('br')]):_vm._e(),(_vm.policyAccount.AccountBillEligibleFlag === 'Y')?_c('router-link',{attrs:{\"to\":{ name: 'policyholderAccountBill' }}},[_vm._v(\" Sign Up For Account Bill\"),_c('br')]):_vm._e()],1):_vm._e(),(_vm.policyAccount.PolicyStatus === 'ACTIVE' && _vm.policyAccount.MasterAccountNumber !== '' && _vm.policyAccount.PaperlessFlag !== 'X')?_c('span',[(_vm.showPolicyEnrollmentLink !== null && _vm.showPolicyEnrollmentLink)?_c('router-link',{attrs:{\"to\":{ name: 'policyholderAccountManagement', hash: '#paperless'}}},[(_vm.policyAccount.PaperlessFlag === 'Y')?_c('span',[_vm._v(\"Modify Paperless Notifications\")]):_c('span',[_vm._v(\"Sign Up For Paperless Notifications\")]),_c('br')]):_vm._e()],1):_vm._e(),(!_vm.policyAccount.MasterAccountNumber || _vm.policyAccount.MasterAccountNumber === '')?_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.getCurrentBillingDocument(_vm.policyAccount.PolicyNumber, _vm.policyAccount.PolicyType, _vm.policyAccount.PolicySubType, _vm.policyAccount.MemberNumber,)}}},[_vm._v(\" View Current Bill \"),_c('v-icon',{staticClass:\"mdi-18px\"},[_vm._v(\"mdi-open-in-new\")])],1):_vm._e(),(!_vm.policyAccount.MasterAccountNumber || _vm.policyAccount.MasterAccountNumber === '')?_c('span',[_c('br')]):_vm._e()]):(_vm.policyAccount.PolicyStatus === 'ACTIVE')?_c('span',[(_vm.showTextEnrollmentLink)?_c('span',[_vm._v(\"Not Currently Eligible For E-bill Paperless Billing or Text Message Notifications\")]):_vm._e(),_c('br')]):_vm._e(),(_vm.showPolicyEnrollmentLink !== null && _vm.showPolicyEnrollmentLink && _vm.policyAccount.PolicyStatus !== 'ACTIVE')?_c('span',[(!_vm.policyAccount.MasterAccountNumber || _vm.policyAccount.MasterAccountNumber === '')?_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();_vm.showDocumentDialog = true}}},[_vm._v(\" View Current Policy Documents \"),_c('v-icon',{staticClass:\"mdi-18px\"},[_vm._v(\"mdi-open-in-new\")])],1):_vm._e(),_c('v-dialog',{attrs:{\"scrollable\":\"\",\"max-width\":\"500\"},model:{value:(_vm.showDocumentDialog),callback:function ($$v) {_vm.showDocumentDialog=$$v},expression:\"showDocumentDialog\"}},[_c('policy-document-list',{attrs:{\"policyNumber\":_vm.policyAccount.PolicyNumber,\"policyType\":_vm.policyAccount.PolicyType,\"policySubType\":_vm.policyAccount.PolicySubType,\"policySymbol\":_vm.policyAccount.PolicySymbol,\"effectiveDate\":_vm.policyAccount.PolicyEffectiveDate,\"expirationDate\":_vm.policyAccount.PolicyExpirationDate,\"futureEffectiveDate\":\"\",\"futureExpirationDate\":\"\",\"openPanel\":0}})],1)],1):_vm._e(),((_vm.policyAccount.PolicyType === 'SM' || _vm.policyAccount.PolicyType === 'CA') && _vm.policyAccount.PolicyStatus === 'ACTIVE')?_c('span',[_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.autoIdCard(_vm.policyAccount.PolicyNumber, _vm.policyAccount.PolicyType, _vm.policyAccount.PolicyExpirationDate);}}},[_vm._v(\" Print ID Card \")]),_vm._v(\" \"),_c('v-icon',{staticClass:\"mdi-18px\"},[_vm._v(\"mdi-open-in-new\")]),_c('br')],1):_vm._e(),(_vm.policyAccount.RoadsideAssistanceCardFlag === 'Y' && _vm.policyAccount.PolicyStatus === 'ACTIVE')?_c('span',[(_vm.policyAccount.RoadsideAssistanceCardFlag === 'Y')?_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.roadsideAssistanceCard(_vm.policyAccount.PolicyNumber, _vm.policyAccount.PolicyType, _vm.policyAccount.PolicyExpirationDate);}}},[_vm._v(\" Print Roadside Assistance Card \")]):_vm._e(),_vm._v(\" \"),_c('v-icon',{staticClass:\"mdi-18px\"},[_vm._v(\"mdi-open-in-new\")]),_c('br'),(_vm.ageroRoadsideEnabled && _vm.ageroRoadsideEnabled === 'Y')?_c('span',[_c('a',{attrs:{\"href\":_vm.roadsideUrl,\"hreflang\":\"en-us\",\"target\":\"_blank\",\"rel\":\"noopener\",\"aria-label\":\"Request Roadside Assistance (opens in a new tab)\"}},[_vm._v(\" Request Roadside Assistance \")]),_vm._v(\" \"),_c('v-icon',{staticClass:\"mdi-18px\"},[_vm._v(\"mdi-open-in-new\")]),_c('br')],1):_vm._e()],1):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-expansion-panels',{staticClass:\"tfb-section my-3\",attrs:{\"accordion\":\"\",\"flat\":\"\"},model:{value:(_vm.openPanel),callback:function ($$v) {_vm.openPanel=$$v},expression:\"openPanel\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"px-0\"},[_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('v-icon',[_vm._v(\"$expand\")])]},proxy:true}])},[_c('h3',{staticClass:\"text-blue font-weight-bold\"},[_vm._v(\"Policy Documents\")])])],1)],1),_c('v-expansion-panel-content',{staticClass:\"background-lightest-gray py-4\"},[_c('v-container',[_c('v-row',[_c('v-col',[_c('h4',[_vm._v(\"Policy Documents\")])])],1),(_vm.futureEffectiveDate && _vm.futureEffectiveDate !== '' && _vm.upcomingStaticDocumentList.length > 0)?_c('v-row',{staticClass:\"pt-0\"},[_c('v-col',{staticClass:\"pt-0\"},[_c('h5',[_vm._v(\"Current Policy Term\")])])],1):_vm._e(),_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"300\",\"type\":\"list-item@3\",\"tile\":\"\",\"loading\":_vm.currentStaticDocumentLoading}},[_c('v-row',[(_vm.currentStaticDocumentList.length > 0)?_c('v-col',{staticClass:\"pt-0\",attrs:{\"cols\":\"12\"}},[_c('v-list',{staticClass:\"px-2 pt-0\",attrs:{\"dense\":\"\",\"flat\":\"\",\"color\":\"#ededed\"}},_vm._l((_vm.currentStaticDocumentList),function(document){return _c('v-list-item',{key:document.ID,staticClass:\"tfb-policy-document\",attrs:{\"dense\":\"\"}},[_c('v-list-item-content',{staticClass:\"py-1\"},[_c('a',{attrs:{\"href\":document.Url,\"hreflang\":\"en-us\",\"target\":\"_blank\",\"aria-label\":document.Title}},[_vm._v(_vm._s(document.Title))])])],1)}),1)],1):_c('v-col',{staticClass:\"pt-0\"},[_vm._v(\" No general policy documents available \")])],1)],1),(_vm.futureEffectiveDate && _vm.futureEffectiveDate !== '' && _vm.showUpcomingStaticDocumentChange && _vm.upcomingStaticDocumentList.length > 0)?_c('v-row',{staticClass:\"pt-0\"},[_c('v-col',{staticClass:\"pt-0\"},[_c('h5',[_vm._v(\"Upcoming Policy Term\")])])],1):_vm._e(),(_vm.futureEffectiveDate && _vm.futureEffectiveDate !== '')?_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"300\",\"type\":\"list-item@3\",\"tile\":\"\",\"loading\":_vm.upcomingStaticDocumentLoading}},[_c('v-row',[(_vm.upcomingStaticDocumentList.length > 0)?_c('v-col',{staticClass:\"pt-0\",attrs:{\"cols\":\"12\"}},[_c('v-list',{staticClass:\"px-2 pt-0\",attrs:{\"dense\":\"\",\"flat\":\"\",\"color\":\"#ededed\"}},_vm._l((_vm.upcomingStaticDocumentList),function(document){return _c('v-list-item',{key:document.ID,staticClass:\"tfb-policy-document\",attrs:{\"dense\":\"\"}},[_c('v-list-item-content',{staticClass:\"py-1\"},[_c('a',{attrs:{\"href\":document.Url,\"hreflang\":\"en-us\",\"target\":\"_blank\",\"aria-label\":document.Title}},[_vm._v(_vm._s(document.Title))])])],1)}),1)],1):_vm._e()],1)],1):_vm._e(),_c('v-row',[_c('v-col',[_c('h4',[_vm._v(\"Other Documents\")])])],1),_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"300\",\"type\":\"list-item@3\",\"tile\":\"\",\"loading\":_vm.documentLoading}},[(_vm.documentList && _vm.documentList.length > 0)?_c('v-row',[_c('v-col',{staticClass:\"pt-0\",attrs:{\"cols\":\"12\"}},_vm._l((_vm.documentList),function(documentGroup){return _c('v-list',{key:documentGroup.Date,staticClass:\"px-2 pt-0\",attrs:{\"dense\":\"\",\"flat\":\"\",\"color\":\"#ededed\"}},[_c('h5',[_vm._v(\"Issued: \"+_vm._s(documentGroup.Date))]),_c('v-list-item',{staticClass:\"tfb-policy-document\",attrs:{\"dense\":\"\"}},[_c('v-list-item-content',{staticClass:\"py-1\"},_vm._l((documentGroup.Documents),function(versionGroup){return _c('v-list',{key:versionGroup.id,staticClass:\"px-2 pt-0\",attrs:{\"dense\":\"\",\"flat\":\"\",\"color\":\"#ededed\"}},_vm._l((versionGroup),function(document){return _c('v-list-item',{key:document.DocumentId,staticClass:\"tfb-policy-document\",attrs:{\"dense\":\"\"}},[_c('v-list-item-content',{staticClass:\"py-1\"},[_c('a',{attrs:{\"href\":\"\",\"hreflang\":\"en-us\",\"target\":\"_blank\",\"aria-label\":document.LabelDescription},on:{\"click\":function($event){$event.preventDefault();return _vm.getPolicyDocument(_vm.policyNumber, _vm.policyType, _vm.policySubType,\n document.DocumentId, document.FormDescription)}}},[_vm._v(_vm._s(document.LabelDescription))])])],1)}),1)}),1)],1)],1)}),1)],1):_c('v-row',[_c('v-col',{staticClass:\"pt-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\"No policy documents currently available\")])],1)],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <!-- Policy Documents -->\r\n <v-expansion-panels accordion\r\n flat\r\n v-model=\"openPanel\"\r\n class=\"tfb-section my-3\">\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"px-0\">\r\n <v-row>\r\n <v-spacer></v-spacer>\r\n <v-col cols=\"12\"\r\n md=\"5\">\r\n <template v-slot:actions>\r\n <v-icon>$expand</v-icon>\r\n </template>\r\n <h3 class=\"text-blue font-weight-bold\">Policy Documents</h3>\r\n </v-col>\r\n </v-row>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"background-lightest-gray py-4\">\r\n <v-container>\r\n <v-row>\r\n <v-col>\r\n <h4>Policy Documents</h4>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"futureEffectiveDate && futureEffectiveDate !== '' && upcomingStaticDocumentList.length > 0\"\r\n class=\"pt-0\">\r\n <v-col class=\"pt-0\">\r\n <h5>Current Policy Term</h5>\r\n </v-col>\r\n </v-row>\r\n <v-skeleton-loader class=\"mx-auto\"\r\n max-width=\"300\"\r\n type=\"list-item@3\"\r\n tile\r\n :loading=\"currentStaticDocumentLoading\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n v-if=\"currentStaticDocumentList.length > 0\"\r\n class=\"pt-0\">\r\n <v-list dense\r\n flat\r\n color=\"#ededed\"\r\n class=\"px-2 pt-0\">\r\n <v-list-item dense\r\n class=\"tfb-policy-document\"\r\n v-for=\"document in currentStaticDocumentList\"\r\n :key=\"document.ID\">\r\n <v-list-item-content class=\"py-1\">\r\n <a :href=\"document.Url\"\r\n hreflang=\"en-us\"\r\n target=\"_blank\"\r\n :aria-label=\"document.Title\">{{document.Title}}</a>\r\n </v-list-item-content>\r\n </v-list-item>\r\n </v-list>\r\n </v-col>\r\n <v-col v-else\r\n class=\"pt-0\">\r\n No general policy documents available\r\n </v-col>\r\n </v-row>\r\n </v-skeleton-loader>\r\n <v-row v-if=\"futureEffectiveDate && futureEffectiveDate !== '' && showUpcomingStaticDocumentChange && upcomingStaticDocumentList.length > 0\"\r\n class=\"pt-0\">\r\n <v-col class=\"pt-0\">\r\n <h5>Upcoming Policy Term</h5>\r\n </v-col>\r\n </v-row>\r\n <v-skeleton-loader class=\"mx-auto\"\r\n max-width=\"300\"\r\n type=\"list-item@3\"\r\n tile\r\n v-if=\"futureEffectiveDate && futureEffectiveDate !== ''\"\r\n :loading=\"upcomingStaticDocumentLoading\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n v-if=\"upcomingStaticDocumentList.length > 0\"\r\n class=\"pt-0\">\r\n <v-list dense\r\n flat\r\n color=\"#ededed\"\r\n class=\"px-2 pt-0\">\r\n <v-list-item dense\r\n class=\"tfb-policy-document\"\r\n v-for=\"document in upcomingStaticDocumentList\"\r\n :key=\"document.ID\">\r\n <v-list-item-content class=\"py-1\">\r\n <a :href=\"document.Url\"\r\n hreflang=\"en-us\"\r\n target=\"_blank\"\r\n :aria-label=\"document.Title\">{{document.Title}}</a>\r\n </v-list-item-content>\r\n </v-list-item>\r\n </v-list>\r\n </v-col>\r\n </v-row>\r\n </v-skeleton-loader>\r\n <v-row>\r\n <v-col>\r\n <h4>Other Documents</h4>\r\n </v-col>\r\n </v-row>\r\n <v-skeleton-loader class=\"mx-auto\"\r\n max-width=\"300\"\r\n type=\"list-item@3\"\r\n tile\r\n :loading=\"documentLoading\">\r\n <v-row v-if=\"documentList && documentList.length > 0\">\r\n <v-col cols=\"12\"\r\n class=\"pt-0\">\r\n <v-list dense\r\n flat\r\n color=\"#ededed\"\r\n v-for=\"documentGroup in documentList\"\r\n :key=\"documentGroup.Date\"\r\n class=\"px-2 pt-0\">\r\n <h5>Issued: {{ documentGroup.Date }}</h5>\r\n <v-list-item dense\r\n class=\"tfb-policy-document\">\r\n <v-list-item-content class=\"py-1\">\r\n <v-list dense\r\n flat\r\n color=\"#ededed\"\r\n v-for=\"versionGroup in documentGroup.Documents\"\r\n v-bind:key=\"versionGroup.id\"\r\n class=\"px-2 pt-0\">\r\n <v-list-item dense\r\n class=\"tfb-policy-document\"\r\n v-for=\"document in versionGroup\"\r\n :key=\"document.DocumentId\">\r\n <v-list-item-content class=\"py-1\">\r\n <a href=\"\"\r\n v-on:click.prevent=\"getPolicyDocument(policyNumber, policyType, policySubType,\r\n document.DocumentId, document.FormDescription)\"\r\n hreflang=\"en-us\"\r\n target=\"_blank\"\r\n :aria-label=\"document.LabelDescription\">{{document.LabelDescription}}</a>\r\n </v-list-item-content>\r\n </v-list-item>\r\n </v-list>\r\n </v-list-item-content>\r\n </v-list-item>\r\n </v-list>\r\n </v-col>\r\n </v-row>\r\n <v-row v-else>\r\n <v-col cols=\"12\"\r\n class=\"pt-0\">No policy documents currently available</v-col>\r\n </v-row>\r\n </v-skeleton-loader>\r\n </v-container>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n </v-expansion-panels>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'PolicyDocumentList',\r\n props: {\r\n policyNumber: {\r\n type: String,\r\n required: true,\r\n },\r\n policyType: {\r\n type: String,\r\n required: true,\r\n },\r\n policySubType: {\r\n type: String,\r\n required: true,\r\n },\r\n policySymbol: {\r\n type: String,\r\n required: true,\r\n },\r\n effectiveDate: {\r\n type: String,\r\n required: true,\r\n },\r\n expirationDate: {\r\n type: String,\r\n required: true,\r\n },\r\n futureEffectiveDate: {\r\n type: String,\r\n required: false,\r\n },\r\n futureExpirationDate: {\r\n type: String,\r\n required: false,\r\n },\r\n openPanel: {\r\n type: Number,\r\n required: true,\r\n default() {\r\n return 99;\r\n },\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n data() {\r\n return {\r\n documentLoading: true,\r\n currentStaticDocumentLoading: true,\r\n currentStaticDocumentList: [],\r\n upcomingStaticDocumentLoading: true,\r\n upcomingStaticDocumentList: [],\r\n documentList: [],\r\n };\r\n },\r\n computed: {\r\n showUpcomingStaticDocumentChange() {\r\n let displayIndicator = true;\r\n if (this.upcomingStaticDocumentList.length > 0 && this.currentStaticDocumentList.length > 0) {\r\n if (this.upcomingStaticDocumentList[0].Url === this.currentStaticDocumentList[0].Url) {\r\n displayIndicator = false;\r\n }\r\n }\r\n\r\n return displayIndicator;\r\n },\r\n },\r\n methods: {\r\n async getStaticPolicyDocuments() {\r\n dispatch('app/getStaticDocuments', {\r\n sLineOfBusiness: this.policySymbol, sEffectiveDate: this.effectiveDate, sExpirationDate: this.expirationDate, sTfbId: this.trackingId,\r\n })\r\n .then((staticDocumentResponse) => {\r\n this.currentStaticDocumentList = staticDocumentResponse;\r\n this.currentStaticDocumentLoading = false;\r\n })\r\n .catch(() => {\r\n this.currentStaticDocumentLoading = false;\r\n });\r\n\r\n if (this.futureEffectiveDate && this.futureEffectiveDate !== '') {\r\n dispatch('app/getStaticDocuments', {\r\n sLineOfBusiness: this.policySymbol, sEffectiveDate: this.futureEffectiveDate, sExpirationDate: this.futureExpirationDate, sTfbId: this.trackingId,\r\n })\r\n .then((upcomingStaticDocumentResponse) => {\r\n this.upcomingStaticDocumentList = upcomingStaticDocumentResponse;\r\n this.upcomingStaticDocumentLoading = false;\r\n })\r\n .catch(() => {\r\n this.upcomingStaticDocumentLoading = false;\r\n });\r\n } else {\r\n this.upcomingStaticDocumentLoading = false;\r\n }\r\n },\r\n async getPolicyDocuments() {\r\n dispatch('documents/getPolicyDocumentList', {\r\n sPolicyNumber: this.policyNumber, sPolicyType: this.policyType, sPolicySubType: this.policySubType, sLocationType: 'POL-HIST', sTfbId: this.trackingId,\r\n })\r\n .then((documentResponse) => {\r\n this.documentList = documentResponse;\r\n this.documentLoading = false;\r\n })\r\n .catch(() => {\r\n this.documentLoading = false;\r\n });\r\n },\r\n getPolicyDocument(policyNumber, policyType, policySubType, documentId, formDescription) {\r\n this.$store.dispatch('app/setIsLoading', true);\r\n dispatch('documents/getSpecificIdPolicyDocument', {\r\n sPolicyNumber: policyNumber, sPolicyType: policyType, sPolicySubType: policySubType, sDocumentId: documentId, sFormDescription: formDescription, sTfbId: this.trackingId,\r\n })\r\n .then((documentPages) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n if (documentPages && documentPages !== null) {\r\n this.$store.dispatch('app/setIsDocumentLoading', true);\r\n dispatch('documents/showPDF', {\r\n inputPDFArray: documentPages, fileName: `${policyNumber}-${formDescription}.pdf`, tfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n // Do nothing\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setIsDocumentLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('app/setIsLoading', true);\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n } else if (error.toString().indexOf('status code 404') >= 0) {\r\n // Document was not found\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', 'Unable to load document. Please try again.');\r\n } else {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n }\r\n });\r\n },\r\n },\r\n mounted() {\r\n this.getStaticPolicyDocuments();\r\n this.getPolicyDocuments();\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .tfb-policy-document.v-list-item--dense, .v-list--dense .tfb-policy-document.v-list-item {\r\n min-height: 22px;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PolicyDocumentList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PolicyDocumentList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PolicyDocumentList.vue?vue&type=template&id=4c223a7a\"\nimport script from \"./PolicyDocumentList.vue?vue&type=script&lang=js\"\nexport * from \"./PolicyDocumentList.vue?vue&type=script&lang=js\"\nimport style0 from \"./PolicyDocumentList.vue?vue&type=style&index=0&id=4c223a7a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <v-col cols=\"12\"\r\n md=\"5\"\r\n class=\"policy-separator\">\r\n <!-- Account Bill link list -->\r\n <div v-if=\"displayType === 'accountbill'\">\r\n <router-link v-if=\"policyAccount.DetailPath && displayLocation === 'summary'\"\r\n :to=\"{ name: 'policyholderPolicyDetail', params: { policyType: policyAccount.DetailPath, policyNumber: policyAccount.MasterAccountNumber }}\">\r\n View Account Details<br />\r\n </router-link>\r\n <a href=\"\"\r\n v-on:click.prevent=\"recurringPayments(policyAccount.CurrentRecurring,policyAccount.MasterAccountNumber,'AB','0',policyAccount.InsuredFullName,'')\">\r\n <span v-if=\"policyAccount.CurrentRecurring === 'CHANGE'\">Modify Recurring Payments</span>\r\n <span v-else>Schedule Recurring Payments</span>\r\n <br />\r\n </a>\r\n <router-link v-if=\"showTextEnrollmentLink || showEbillEnrollmentLink\"\r\n :to=\"{ name: 'policyholderAccountManagement', hash: '#ebill'}\">\r\n <span v-if=\"showTextEnrollmentLink\">E-bill Paperless Billing and Text Message Notifications Settings</span>\r\n <span v-else-if=\"policyAccount.EbillStatus === 'Y'\">Modify E-billing</span>\r\n <span v-else>Sign Up For E-billing</span>\r\n <br />\r\n </router-link>\r\n <span v-else>\r\n <span v-if=\"showTextEnrollmentLink\">Not Currently Eligible For E-bill Paperless Billing or Text Message Notifications</span>\r\n <span v-else>Not Currently Eligible For E-bill Paperless Billing</span><br />\r\n </span>\r\n <router-link v-if=\"policyAccount.AccountBillEligibleFlag === 'Y'\"\r\n :to=\"{ name: 'policyholderAccountBill' }\">\r\n Sign Up For Account Bill<br />\r\n </router-link>\r\n <a href=\"\"\r\n v-on:click.prevent=\"getCurrentBillingDocument(policyAccount.MasterAccountNumber,'AB','0',policyAccount.MemberNumber)\">\r\n View Current Bill\r\n </a> <v-icon class=\"mdi-18px\">mdi-open-in-new</v-icon><br />\r\n </div>\r\n <!-- Policy link list -->\r\n <div v-else>\r\n <router-link v-if=\"policyAccount.PolicyLinkFlag === 'Y' && policyAccount.DetailPath !== '' && displayLocation === 'summary'\"\r\n :to=\"{ name: 'policyholderPolicyDetail', params: { policyType: policyAccount.DetailPath, policyNumber: policyAccount.PolicyNumber }}\">\r\n View Policy Details<br />\r\n </router-link>\r\n <!-- Laurus/Guidewire Billed Policies -->\r\n <span v-if=\"policyAccount.LaurusFlag === 'Y' || policyAccount.GuidewireFlag === 'Y'\">\r\n <!-- Active Laurus Billed Policies Not on Account Bill -->\r\n <span v-if=\"policyAccount.PolicyStatus === 'ACTIVE' && policyAccount.MasterAccountNumber === ''\">\r\n <a href=\"\"\r\n v-if=\"(policyAccount.CurrentRecurring === 'SIGNUP' || policyAccount.CurrentRecurring === 'CHANGE') && policyAccount.GuidewireFlag !== 'Y' && policyAccount.HasGuidewireEquivalent !== 'Y'\"\r\n v-on:click.prevent=\"recurringPayments(policyAccount.CurrentRecurring, policyAccount.PolicyNumber, policyAccount.PolicyType,\r\n policyAccount.PolicySubType, policyAccount.PolicyInsuredName, policyAccount.PolicyEffectiveDate)\">\r\n <span v-if=\"policyAccount.CurrentRecurring === 'CHANGE'\">Modify Recurring Payments</span>\r\n <span v-else>Schedule Recurring Payments</span>\r\n <br />\r\n </a>\r\n <a href=\"\"\r\n v-if=\"(policyAccount.GuidewireFlag === 'Y' || policyAccount.HasGuidewireEquivalent === 'Y') && policyAccount.PolicyRecurringFlag !== 'X'\"\r\n v-on:click.prevent=\"invoiceCloudRecurringPayments(policyAccount.PolicyNumber)\">\r\n Schedule Recurring Payments\r\n <br />\r\n </a>\r\n <a href=\"\"\r\n v-if=\"policyAccount.GuidewireFlag === 'Y' || policyAccount.HasGuidewireEquivalent === 'Y'\"\r\n v-on:click.prevent=\"invoiceCloudPaymentMethods(policyAccount.PolicyNumber)\">\r\n Manage Saved Payment Methods\r\n <br />\r\n </a>\r\n <router-link v-if=\"showTextEnrollmentLink || showEbillEnrollmentLink\"\r\n :to=\"{ name: 'policyholderAccountManagement', hash: '#ebill'}\">\r\n E-bill Paperless Billing and Text Message Notifications Settings<br />\r\n </router-link>\r\n <router-link :to=\"{ name: 'policyholderAccountManagement', hash: '#paperless'}\"\r\n v-if=\"showPolicyEnrollmentLink !== null && showPolicyEnrollmentLink\">\r\n <span v-if=\"policyAccount.PaperlessFlag === 'Y'\">Modify Paperless Notifications</span>\r\n <span v-else>Sign Up For Paperless Notifications</span>\r\n <br />\r\n </router-link>\r\n <router-link v-if=\"policyAccount.AccountBillEligibleFlag === 'Y'\"\r\n :to=\"{ name: 'policyholderAccountBill' }\">\r\n Sign Up For Account Bill<br />\r\n </router-link>\r\n </span>\r\n <!-- Active Laurus Billed Policies on Account Bill -->\r\n <span v-if=\"policyAccount.PolicyStatus === 'ACTIVE' && policyAccount.MasterAccountNumber !== '' && policyAccount.PaperlessFlag !== 'X'\">\r\n <router-link :to=\"{ name: 'policyholderAccountManagement', hash: '#paperless'}\"\r\n v-if=\"showPolicyEnrollmentLink !== null && showPolicyEnrollmentLink\">\r\n <span v-if=\"policyAccount.PaperlessFlag === 'Y'\">Modify Paperless Notifications</span>\r\n <span v-else>Sign Up For Paperless Notifications</span>\r\n <br />\r\n </router-link>\r\n </span>\r\n <!-- All Laurus Billed Policies -->\r\n <a href=\"\"\r\n v-if=\"!policyAccount.MasterAccountNumber || policyAccount.MasterAccountNumber === ''\"\r\n v-on:click.prevent=\"getCurrentBillingDocument(policyAccount.PolicyNumber, policyAccount.PolicyType, policyAccount.PolicySubType, policyAccount.MemberNumber,)\">\r\n View Current Bill <v-icon class=\"mdi-18px\">mdi-open-in-new</v-icon>\r\n </a>\r\n <span v-if=\"!policyAccount.MasterAccountNumber || policyAccount.MasterAccountNumber === ''\"><br /></span>\r\n </span>\r\n <!-- Active Non-Laurus Billed Policies-->\r\n <span v-else-if=\"policyAccount.PolicyStatus === 'ACTIVE'\">\r\n <span v-if=\"showTextEnrollmentLink\">Not Currently Eligible For E-bill Paperless Billing or Text Message Notifications</span><br />\r\n </span>\r\n <!-- Inactive Paperless Eligible Policies -->\r\n <span v-if=\"showPolicyEnrollmentLink !== null && showPolicyEnrollmentLink && policyAccount.PolicyStatus !== 'ACTIVE'\">\r\n <!-- onclick.prevent, open panels array-->\r\n <a href=\"\"\r\n v-if=\"!policyAccount.MasterAccountNumber || policyAccount.MasterAccountNumber === ''\"\r\n v-on:click.prevent=\"showDocumentDialog = true\">\r\n View Current Policy Documents <v-icon class=\"mdi-18px\">mdi-open-in-new</v-icon>\r\n </a>\r\n <v-dialog v-model=\"showDocumentDialog\"\r\n scrollable\r\n max-width=\"500\">\r\n <policy-document-list :policyNumber=\"policyAccount.PolicyNumber\"\r\n :policyType=\"policyAccount.PolicyType\"\r\n :policySubType=\"policyAccount.PolicySubType\"\r\n :policySymbol=\"policyAccount.PolicySymbol\"\r\n :effectiveDate=\"policyAccount.PolicyEffectiveDate\"\r\n :expirationDate=\"policyAccount.PolicyExpirationDate\"\r\n futureEffectiveDate=\"\"\r\n futureExpirationDate=\"\"\r\n :openPanel=\"0\"></policy-document-list>\r\n </v-dialog>\r\n </span>\r\n <!-- Active Auto Policies -->\r\n <span v-if=\"(policyAccount.PolicyType === 'SM' || policyAccount.PolicyType === 'CA') && policyAccount.PolicyStatus === 'ACTIVE'\">\r\n <a href=\"\"\r\n v-on:click.prevent=\"autoIdCard(policyAccount.PolicyNumber, policyAccount.PolicyType, policyAccount.PolicyExpirationDate);\">\r\n Print ID Card\r\n </a> <v-icon class=\"mdi-18px\">mdi-open-in-new</v-icon><br />\r\n </span>\r\n <!-- Active Policies with Roadside Assistance -->\r\n <span v-if=\"policyAccount.RoadsideAssistanceCardFlag === 'Y' && policyAccount.PolicyStatus === 'ACTIVE'\">\r\n <a href=\"\"\r\n v-if=\"policyAccount.RoadsideAssistanceCardFlag === 'Y'\"\r\n v-on:click.prevent=\"roadsideAssistanceCard(policyAccount.PolicyNumber, policyAccount.PolicyType, policyAccount.PolicyExpirationDate);\">\r\n Print Roadside Assistance Card\r\n </a> <v-icon class=\"mdi-18px\">mdi-open-in-new</v-icon><br />\r\n <span v-if=\"ageroRoadsideEnabled && ageroRoadsideEnabled === 'Y'\">\r\n <a :href=\"roadsideUrl\"\r\n hreflang=\"en-us\"\r\n target=\"_blank\"\r\n rel=\"noopener\"\r\n aria-label=\"Request Roadside Assistance (opens in a new tab)\">\r\n Request Roadside Assistance\r\n </a> <v-icon class=\"mdi-18px\">mdi-open-in-new</v-icon><br />\r\n </span>\r\n </span>\r\n </div>\r\n </v-col>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import { insuredAccessOnlyErrorMessage } from '@/mixins/errorMessages';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import PolicyDocumentList from '../policy/PolicyDocumentList.vue';\r\n\r\n export default {\r\n name: 'LinkList',\r\n props: {\r\n displayLocation: {\r\n type: String,\r\n required: true,\r\n },\r\n displayType: {\r\n type: String,\r\n required: true,\r\n },\r\n policyAccount: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n components: {\r\n PolicyDocumentList,\r\n },\r\n data() {\r\n return {\r\n showDocumentDialog: false,\r\n roadsideUrl: null,\r\n showPolicyEnrollmentLink: false,\r\n showEbillEnrollmentLink: false,\r\n showTextEnrollmentLink: false,\r\n };\r\n },\r\n computed: {\r\n memberNumber() {\r\n try {\r\n return this.$store.getters['member/memberNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n ageroRoadsideEnabled() {\r\n try {\r\n return this.$store.getters['app/ageroRoadsideEnabled'];\r\n } catch (error) {\r\n return 'N';\r\n }\r\n },\r\n },\r\n methods: {\r\n recurringPayments(currentRecurringStatus, policyNumber, policyType, policySubType, insuredName, effectiveDate) {\r\n if (this.isMemberRole) {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `${policyNumber}-${currentRecurringStatus}`,\r\n fileName: 'LinkList.vue',\r\n methodName: 'recurringPayments-Start',\r\n trackerId: this.trackingId,\r\n });\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$store.commit('payments/SET_RECURRING_REQUEST', {\r\n PolicyNumber: policyNumber,\r\n PolicyType: policyType,\r\n PolicySubType: policySubType,\r\n InsuredName: insuredName,\r\n EffectiveDate: effectiveDate,\r\n });\r\n this.$router.push({ name: 'policyholderRecurringPayments', params: { changeType: currentRecurringStatus.toLowerCase() } });\r\n } else {\r\n dispatch('app/setErrorMessage', insuredAccessOnlyErrorMessage);\r\n }\r\n },\r\n invoiceCloudRecurringPayments(policyNumber) {\r\n if (this.isMemberRole) {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `${policyNumber}`,\r\n fileName: 'LinkList.vue',\r\n methodName: 'invoiceCloudRecurringPayments-Start',\r\n trackerId: this.trackingId,\r\n });\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$router.push({ name: 'policyholderInvoiceCloudAutoPay' });\r\n } else {\r\n dispatch('app/setErrorMessage', insuredAccessOnlyErrorMessage);\r\n }\r\n },\r\n invoiceCloudPaymentMethods(policyNumber) {\r\n if (this.isMemberRole) {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `${policyNumber}`,\r\n fileName: 'LinkList.vue',\r\n methodName: 'invoiceCloudPaymentMethods-Start',\r\n trackerId: this.trackingId,\r\n });\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$router.push({ name: 'policyholderInvoiceCloudPaymentMethods' });\r\n } else {\r\n dispatch('app/setErrorMessage', insuredAccessOnlyErrorMessage);\r\n }\r\n },\r\n premiumFinancePayment(contractNumber, minimumAmountDue) {\r\n if (this.isMemberRole) {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `${contractNumber}-${minimumAmountDue}`,\r\n fileName: 'LinkList.vue',\r\n methodName: 'premiumFinancePayment-Start',\r\n trackerId: this.trackingId,\r\n });\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$store.commit('payments/SET_PF_PAYMENT_REQUEST', {\r\n ContractNumber: contractNumber,\r\n MinimumAmountDue: minimumAmountDue,\r\n });\r\n this.$router.push({ name: 'policyholderPFPayment' });\r\n } else {\r\n dispatch('app/setErrorMessage', insuredAccessOnlyErrorMessage);\r\n }\r\n },\r\n getCurrentBillingDocument(policyNumber, policyType, policySubType, memberNumber) {\r\n this.$store.dispatch('app/setIsDocumentLoading', false);\r\n this.$store.dispatch('app/setIsLoading', true);\r\n dispatch('documents/getCurrentBillingDocument', {\r\n sPolicyNumber: policyNumber,\r\n sPolicyType: policyType,\r\n sPolicySubType: policySubType,\r\n sMemberNumber: memberNumber,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((documentPages) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n if (documentPages && documentPages !== null) {\r\n this.$store.dispatch('app/setIsDocumentLoading', true);\r\n dispatch('documents/showPDF', {\r\n inputPDFArray: documentPages, fileName: `${this.parseDate(new Date().toISOString())}-${policyNumber}-Billing.pdf`, tfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n // Do nothing\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setIsDocumentLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('app/setIsLoading', true);\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n } else if (error.toString().indexOf('status code 404') >= 0) {\r\n // Document was not found\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', 'Unable to load current billing document. Please try again.');\r\n } else {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n }\r\n });\r\n },\r\n getCurrentPolicyDocument(policyNumber, policyType, policySubType) {\r\n this.$store.dispatch('app/setIsDocumentLoading', false);\r\n this.$store.dispatch('app/setIsLoading', true);\r\n dispatch('documents/getCurrentPolicyDocument', {\r\n sPolicyNumber: policyNumber, sPolicyType: policyType, sPolicySubType: policySubType, sTfbId: this.trackingId,\r\n })\r\n .then((documentPages) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n if (documentPages && documentPages !== null) {\r\n this.$store.dispatch('app/setIsDocumentLoading', true);\r\n dispatch('documents/showPDF', {\r\n inputPDFArray: documentPages, fileName: `${this.parseDate(new Date().toISOString())}-${policyNumber}-Policy.pdf`, tfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n // Do nothing\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setIsDocumentLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('app/setIsLoading', true);\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n } else if (error.toString().indexOf('status code 404') >= 0) {\r\n // Document was not found\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', 'Unable to load current policy document. Please try again.');\r\n } else {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n }\r\n });\r\n },\r\n // eslint-disable-next-line no-unused-vars\r\n roadsideAssistanceCard(policyNumber, policyType, expirationDate) {\r\n this.$store.dispatch('app/setIsDocumentLoading', false);\r\n this.$store.dispatch('app/setIsLoading', true);\r\n dispatch('documents/getRoadsideAssistanceCard', {\r\n sPolicyNumber: policyNumber, sPolicyType: policyType, sExpirationDate: this.parseDate(new Date().toISOString()), sTfbId: this.trackingId,\r\n })\r\n .then((documentPages) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n if (documentPages && documentPages !== null) {\r\n this.$store.dispatch('app/setIsDocumentLoading', true);\r\n dispatch('documents/showPDF', {\r\n inputPDFArray: documentPages, fileName: `${this.parseDate(new Date().toISOString())}-${policyNumber}-RoadsideAssistanceCard.pdf`, tfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n // Do nothing\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setIsDocumentLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('app/setIsLoading', true);\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n } else if (error.toString().indexOf('status code 404') >= 0) {\r\n // Document was not found\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', 'Unable to load Roadside Assistance card. Please try again.');\r\n } else {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n }\r\n });\r\n },\r\n // eslint-disable-next-line no-unused-vars\r\n autoIdCard(policyNumber, policyType, expirationDate) {\r\n this.$store.dispatch('app/setIsDocumentLoading', false);\r\n this.$store.dispatch('app/setIsLoading', true);\r\n dispatch('documents/getAutoIdCard', {\r\n sPolicyNumber: policyNumber, sPolicyType: policyType, sExpirationDate: this.parseDate(new Date().toISOString()), sTfbId: this.trackingId,\r\n })\r\n .then((documentPages) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n if (documentPages && documentPages !== null) {\r\n this.$store.dispatch('app/setIsDocumentLoading', true);\r\n dispatch('documents/showPDF', {\r\n inputPDFArray: documentPages, fileName: `${this.parseDate(new Date().toISOString())}-${policyNumber}-AutoIdCard.pdf`, tfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n // Do nothing\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setIsDocumentLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('app/setIsLoading', true);\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n } else if (error.toString().indexOf('status code 404') >= 0) {\r\n // Document was not found\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', 'Unable to load current ID card. Please try again later.');\r\n } else {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n }\r\n });\r\n },\r\n },\r\n mounted() {\r\n if (this.ageroRoadsideEnabled) {\r\n // Get the Roadside Assistance url\r\n this.$store.dispatch('app/getConfiguration', { sSection: 'ExternalUrl', sTitle: 'RequestRoadsideAssistance' })\r\n .then((roadsideAssistance) => {\r\n this.roadsideUrl = roadsideAssistance;\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n }\r\n\r\n if (this.policyAccount.GuidewireFlag === 'Y' || this.policyAccount.HasGuidewireEquivalent === 'Y') {\r\n // This policy is on Guidewire or has a Guidewire equivalent, so they can enroll in E-bill/Text\r\n this.showEbillEnrollmentLink = true;\r\n this.showTextEnrollmentLink = true;\r\n } else {\r\n // Get the policy types/subtypes allowed to enroll in E-bill\r\n this.$store.dispatch('app/getFeatureFlag', { sTitle: 'AllowedEbill' })\r\n .then((allowedEbill) => {\r\n if (allowedEbill && allowedEbill.length > 0) {\r\n const allowedEbillSplit = allowedEbill.split(',');\r\n\r\n // Loop through list of allowed E-bill types\r\n for (let a = 0; a < allowedEbillSplit.length; a += 1) {\r\n const ebillType = allowedEbillSplit[a];\r\n if (ebillType) {\r\n const policyTypeSplit = ebillType.split('-');\r\n\r\n // Is this policy type/subtype allowed to enroll in E-bill?\r\n if ((policyTypeSplit.length > 1 && this.policyAccount.PolicyType === policyTypeSplit[0] && this.policyAccount.PolicySubType === policyTypeSplit[1])\r\n || this.policyAccount.GuidewireFlag === 'Y') {\r\n // Show E-bill enrollment link\r\n this.showEbillEnrollmentLink = true;\r\n }\r\n }\r\n }\r\n } else {\r\n // Unable to find policy types/subtypes or none are listed\r\n this.showEbillEnrollmentLink = null;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.showEbillEnrollmentLink = false;\r\n });\r\n\r\n // Get the policy types/subtypes allowed to enroll in Text Notifications\r\n this.$store.dispatch('app/getFeatureFlag', { sTitle: 'AllowedEbillTextNotify' })\r\n .then((allowedEbillText) => {\r\n if (allowedEbillText && allowedEbillText.length > 0) {\r\n const allowedEbillSplit = allowedEbillText.split(',');\r\n\r\n // Loop through list of allowed Text Notification types\r\n for (let a = 0; a < allowedEbillSplit.length; a += 1) {\r\n const ebillType = allowedEbillSplit[a];\r\n if (ebillType) {\r\n const policyTypeSplit = ebillType.split('-');\r\n\r\n // Is this policy type/subtype allowed to enroll in Text Notification?\r\n if ((policyTypeSplit.length > 1 && this.policyAccount.PolicyType === policyTypeSplit[0] && this.policyAccount.PolicySubType === policyTypeSplit[1])\r\n || this.policyAccount.GuidewireFlag === 'Y') {\r\n // Show Text Notification enrollment link\r\n this.showTextEnrollmentLink = true;\r\n }\r\n }\r\n }\r\n } else {\r\n // Unable to find policy types/subtypes or none are listed\r\n this.showTextEnrollmentLink = null;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.showTextEnrollmentLink = false;\r\n });\r\n\r\n // Get the policy types/subtypes allowed to enroll in Paperless Policy\r\n this.$store.dispatch('app/getFeatureFlag', { sTitle: 'PaperlessPolicyNotifyAllowed' })\r\n .then((allowedPaperless) => {\r\n if (allowedPaperless && allowedPaperless.length > 0) {\r\n const allowedPaperlessSplit = allowedPaperless.split(',');\r\n\r\n // Loop through list of allowed Paperless Policy types\r\n for (let a = 0; a < allowedPaperlessSplit.length; a += 1) {\r\n if (allowedPaperlessSplit[a]) {\r\n const policyTypeSplit = allowedPaperlessSplit[a].split('-');\r\n\r\n // Is this policy type/subtype allowed to enroll in Paperless Policy?\r\n if (policyTypeSplit.length > 1 && this.policyAccount.PolicyType === policyTypeSplit[0] && this.policyAccount.PolicySubType === policyTypeSplit[1]\r\n && this.policyAccount.GuidewireFlag !== 'Y'\r\n && this.policyAccount.HasGuidewireEquivalent !== 'Y') {\r\n // Show Paperless Policy enrollment link\r\n this.showPolicyEnrollmentLink = true;\r\n }\r\n }\r\n }\r\n } else {\r\n // Unable to find policy types/subtypes or none are listed\r\n this.showPolicyEnrollmentLink = null;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.showPolicyEnrollmentLink = false;\r\n });\r\n }\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n div .policy-separator:not(:first-child) {\r\n border-top: solid 1px $tfb-gray;\r\n }\r\n\r\n @media (min-width: 960px) {\r\n div .policy-separator:not(:first-child) {\r\n border-top: none;\r\n border-left: solid 1px $tfb-gray;\r\n }\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LinkList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LinkList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LinkList.vue?vue&type=template&id=5f7cf076\"\nimport script from \"./LinkList.vue?vue&type=script&lang=js\"\nexport * from \"./LinkList.vue?vue&type=script&lang=js\"\nimport style0 from \"./LinkList.vue?vue&type=style&index=0&id=5f7cf076&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <span>\r\n <!--<span class=\"font-italic text-caption print-date-display print-date-white-display\">\r\n {{printingDate}}\r\n </span>\r\n <span class=\"only-on-print font-italic text-caption print-date-display\">\r\n Print Date: {{printingDate}}\r\n </span>-->\r\n </span>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'PrintDate',\r\n mixins: [tfbHelperMixin],\r\n computed: {\r\n printingDate() {\r\n return new Date().toISOString();\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .print-date-display {\r\n font-family: 'BS-light', $body-font-family;\r\n }\r\n .print-date-white-display {\r\n color: $tfb-off-white;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintDate.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintDate.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PrintDate.vue?vue&type=template&id=6dd7294e\"\nimport script from \"./PrintDate.vue?vue&type=script&lang=js\"\nexport * from \"./PrintDate.vue?vue&type=script&lang=js\"\nimport style0 from \"./PrintDate.vue?vue&type=style&index=0&id=6dd7294e&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.accountBill && _vm.accountBill !== undefined && _vm.accountBill !== null)?_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Current Balance Due:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.accountBill.CurrentAmountDue, 2))),_c('br'),_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Remaining Balance Due:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.accountBill.RemainingAmountDue, 2))),_c('br'),_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Due Date:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.accountBill.CurrentDueDate))),_c('br'),_c('payment-menu',{attrs:{\"showLink\":_vm.accountBill.CurrentRecurring !== 'CHANGE' && !_vm.paymentsDisabled,\"accountNumber\":_vm.accountBill.MemberNumber,\"policyNumber\":_vm.accountBill.MasterAccountNumber,\"policyType\":\"AB\",\"isGuidewire\":1 == 2,\"paymentTracking\":_vm.trackingId}}),(_vm.accountBill.CurrentRecurring !== 'CHANGE' && _vm.paymentsDisabled)?_c('span',[_vm._v(\"Online Payments Unavailable\"),_c('br')]):_vm._e()],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.showLink)?_c('v-menu',{attrs:{\"offset-y\":\"\",\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('br'),_c('v-icon',{staticClass:\"mdi-18px\"},[_vm._v(\"mdi-open-in-new\")]),_vm._v(\"  \"),_c('a',_vm._g({staticClass:\"make-payment-link\"},on),[_vm._v(\" Make a Payment\")])]}}],null,false,3868116028)},[_c('v-list',{staticClass:\"make-payment-menu\",attrs:{\"dense\":\"\"}},[_c('v-list-item',{staticClass:\"make-payment-menu-item\",attrs:{\"three-line\":\"\"}},[(_vm.registeredLinkDisabled)?_c('span',{staticClass:\"make-payment-item-link\"},[_vm._v(\" Pay via Checking or Savings Account Link Currently Unavailable \")]):_c('span',[_c('a',{staticClass:\"make-payment-item-link\",attrs:{\"href\":_vm.registeredPaymentUrl,\"target\":\"_blank\",\"title\":\"Pay via Checking or Savings Account\"},on:{\"click\":function($event){return _vm.policyPayment(_vm.registeredPaymentUrl)}}},[_vm._v(\"Pay via Checking or Savings Account\")])]),_c('p',{staticClass:\"make-payment-item-text\"},[_vm._v(\"No processing fees (via My TFBI Account)\")])]),_c('v-list-item',{staticClass:\"make-payment-menu-item\",attrs:{\"three-line\":\"\"}},[(_vm.nonRegisteredLinkDisabled)?_c('span',{staticClass:\"make-payment-item-link\"},[_vm._v(\" Pay via Credit, Debit, Checking or Savings Account Link Currently Unavailable \")]):_c('span',[_c('a',{staticClass:\"make-payment-item-link\",attrs:{\"href\":_vm.nonRegisteredPaymentUrl,\"target\":\"_blank\",\"title\":\"Pay via Credit, Debit, Checking or Savings Account\"},on:{\"click\":function($event){return _vm.policyPayment(_vm.nonRegisteredPaymentUrl)}}},[_vm._v(\"Pay via Credit, Debit, Checking or Savings Account\")])]),_c('p',{staticClass:\"make-payment-item-text\"},[_vm._v(\"Processing fees ($3.95) and other restrictions will apply (via guest payment site)\")])])],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-menu offset-y\r\n :close-on-content-click=\"false\"\r\n v-if=\"showLink\">\r\n <template v-slot:activator=\"{ on }\">\r\n <!-- I don't know why, but items in here have to be in reverse order -->\r\n <br />\r\n <v-icon class=\"mdi-18px\">mdi-open-in-new</v-icon> \r\n <a v-on=\"on\"\r\n class=\"make-payment-link\">\r\n Make a Payment</a>\r\n </template>\r\n <v-list dense\r\n class=\"make-payment-menu\">\r\n <v-list-item three-line\r\n class=\"make-payment-menu-item\">\r\n <span v-if=\"registeredLinkDisabled\"\r\n class=\"make-payment-item-link\">\r\n Pay via Checking or Savings Account Link Currently Unavailable\r\n </span>\r\n <span v-else>\r\n <a :href=\"registeredPaymentUrl\"\r\n class=\"make-payment-item-link\"\r\n target=\"_blank\"\r\n title=\"Pay via Checking or Savings Account\"\r\n v-on:click=\"policyPayment(registeredPaymentUrl)\">Pay via Checking or Savings Account</a>\r\n </span>\r\n <p class=\"make-payment-item-text\">No processing fees (via My TFBI Account)</p>\r\n </v-list-item>\r\n <v-list-item three-line\r\n class=\"make-payment-menu-item\">\r\n <span v-if=\"nonRegisteredLinkDisabled\"\r\n class=\"make-payment-item-link\">\r\n Pay via Credit, Debit, Checking or Savings Account Link Currently Unavailable\r\n </span>\r\n <span v-else>\r\n <a :href=\"nonRegisteredPaymentUrl\"\r\n class=\"make-payment-item-link\"\r\n target=\"_blank\"\r\n title=\"Pay via Credit, Debit, Checking or Savings Account\"\r\n v-on:click=\"policyPayment(nonRegisteredPaymentUrl)\">Pay via Credit, Debit, Checking or Savings Account</a>\r\n </span>\r\n <p class=\"make-payment-item-text\">Processing fees ($3.95) and other restrictions will apply (via guest payment site)</p>\r\n </v-list-item>\r\n </v-list>\r\n </v-menu>\r\n</template>\r\n<script>\r\n export default {\r\n name: 'PaymentMenu',\r\n props: {\r\n showLink: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n accountNumber: {\r\n type: String,\r\n required: true,\r\n },\r\n policyNumber: {\r\n type: String,\r\n required: true,\r\n },\r\n policyType: {\r\n type: String,\r\n required: true,\r\n },\r\n isGuidewire: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n paymentTracking: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n registeredPaymentUrl: '',\r\n nonRegisteredPaymentUrl: '',\r\n registeredLinkDisabled: true,\r\n nonRegisteredLinkDisabled: true,\r\n };\r\n },\r\n mounted() {\r\n if (this.isGuidewire) {\r\n // Get the token value\r\n const invoiceCloudToken = this.$store.getters['member/invoiceCloudToken'];\r\n if (invoiceCloudToken && invoiceCloudToken !== undefined && invoiceCloudToken !== null && invoiceCloudToken !== '' && invoiceCloudToken !== 'null') {\r\n this.registeredPaymentUrl = `${this.$store.getters['app/invoiceCloudIFrameUrl']}?RemoteAuthenticationToken=${invoiceCloudToken}&ViewMode=0&RedirectID=8`;\r\n this.registeredLinkDisabled = false;\r\n }\r\n\r\n this.$store.dispatch('member/createCloudPaymentUrl', { sAccountNumber: this.accountNumber, sInvoiceNumber: '', sTfbId: this.trackingId })\r\n .then((cloudPaymentReturn) => {\r\n // console.log(cloudPaymentReturn);\r\n if (cloudPaymentReturn && cloudPaymentReturn !== null && cloudPaymentReturn !== undefined && cloudPaymentReturn !== '') {\r\n this.nonRegisteredPaymentUrl = cloudPaymentReturn;\r\n this.nonRegisteredLinkDisabled = false;\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n }\r\n });\r\n } else {\r\n this.registeredPaymentUrl = `${process.env.VUE_APP_ROOT_URI}/payments/${this.policyType}/${this.policyNumber}`;\r\n this.registeredLinkDisabled = false;\r\n this.nonRegisteredPaymentUrl = this.$store.getters['app/nonRegisteredFiservPaymentUrl'];\r\n this.nonRegisteredLinkDisabled = false;\r\n }\r\n },\r\n methods: {\r\n policyPayment(link) {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `Going to: ${link}`,\r\n fileName: 'PaymentMenu.vue',\r\n methodName: 'policyPayment-Start',\r\n trackerId: this.paymentTracking,\r\n });\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .make-payment-link {\r\n text-decoration: none;\r\n color: #008ce1;\r\n }\r\n\r\n .make-payment-menu {\r\n max-width: 400px !important;\r\n }\r\n\r\n .make-payment-menu-item {\r\n -webkit-align-items: center;\r\n align-items: center;\r\n -webkit-align-self: stretch;\r\n align-self: stretch;\r\n display: -webkit-flex;\r\n display: flex;\r\n -webkit-flex-wrap: wrap;\r\n flex-wrap: wrap;\r\n -webkit-flex: 1 1;\r\n flex: 1 1;\r\n overflow: hidden;\r\n padding: 8px 16px;\r\n min-height: 10px !important;\r\n }\r\n\r\n .make-payment-menu-item > :not(:last-child) {\r\n margin-bottom: 2px;\r\n }\r\n\r\n .make-payment-item-link {\r\n font-size: .8125rem;\r\n font-weight: 500;\r\n line-height: 1rem;\r\n text-overflow: unset !important;\r\n white-space: normal !important;\r\n overflow: visible !important;\r\n flex: 1 1 100%;\r\n align-self: center;\r\n }\r\n\r\n .make-payment-item-text {\r\n font-size: .8125rem;\r\n font-weight: 500;\r\n line-height: 1rem;\r\n text-overflow: unset !important;\r\n white-space: normal !important;\r\n overflow: visible !important;\r\n -webkit-line-clamp: 2;\r\n -webkit-box-orient: vertical;\r\n display: -webkit-box;\r\n flex: 1 1 100%;\r\n color: rgba(0,0,0,.6);\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentMenu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentMenu.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PaymentMenu.vue?vue&type=template&id=7553c040\"\nimport script from \"./PaymentMenu.vue?vue&type=script&lang=js\"\nexport * from \"./PaymentMenu.vue?vue&type=script&lang=js\"\nimport style0 from \"./PaymentMenu.vue?vue&type=style&index=0&id=7553c040&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <v-row no-gutters\r\n v-if=\"accountBill && accountBill !== undefined && accountBill !== null\">\r\n <v-col cols=\"12\">\r\n <label class=\"font-weight-medium\">Current Balance Due:</label> {{formatMoney(accountBill.CurrentAmountDue, 2)}}<br />\r\n <label class=\"font-weight-medium\">Remaining Balance Due:</label> {{formatMoney(accountBill.RemainingAmountDue, 2)}}<br />\r\n <label class=\"font-weight-medium\">Due Date:</label> {{formatDate(accountBill.CurrentDueDate)}}<br />\r\n <payment-menu :showLink=\"accountBill.CurrentRecurring !== 'CHANGE' && !paymentsDisabled\"\r\n :accountNumber=\"accountBill.MemberNumber\"\r\n :policyNumber=\"accountBill.MasterAccountNumber\"\r\n policyType=\"AB\"\r\n :isGuidewire=\"1 == 2\"\r\n :paymentTracking=\"trackingId\"></payment-menu>\r\n <span v-if=\"accountBill.CurrentRecurring !== 'CHANGE' && paymentsDisabled\">Online Payments Unavailable<br /></span>\r\n </v-col>\r\n </v-row>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import PaymentMenu from '../components/PaymentMenu.vue';\r\n\r\n export default {\r\n name: 'SummaryAccountBillBillingDisplay',\r\n props: {\r\n accountBill: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n components: {\r\n PaymentMenu,\r\n },\r\n data() {\r\n return {\r\n paymentsDisabled: false,\r\n };\r\n },\r\n mounted() {\r\n // Is this a member logged in or an internal user?\r\n if (this.isMemberRole) {\r\n // See if payments are enabled\r\n this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'Payments', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus !== '') {\r\n this.paymentsDisabled = true;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n } else {\r\n this.paymentsDisabled = true;\r\n }\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountBillBillingDisplay.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountBillBillingDisplay.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountBillBillingDisplay.vue?vue&type=template&id=313a5cfe\"\nimport script from \"./AccountBillBillingDisplay.vue?vue&type=script&lang=js\"\nexport * from \"./AccountBillBillingDisplay.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.policy.BillingInformation && _vm.policy.BillingInformation !== null && _vm.policy.BillingInformation.length > 0)?_c('v-row',{attrs:{\"no-gutters\":\"\"}},_vm._l((_vm.policy.BillingInformation),function(billingInfo){return _c('v-col',{key:billingInfo.BillAccountNumber,attrs:{\"cols\":\"12\",\"sm\":12 / _vm.policy.BillingInformation.length}},[(_vm.policy.PolicyStatus === 'ACTIVE')?_c('div',[_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Current Balance Due:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(billingInfo.MinimumAmountDue, 2))),_c('br'),(billingInfo.PastAmountDue && billingInfo.PastAmountDue !== null && billingInfo.PastAmountDue !== ''\n && billingInfo.PastAmountDue !== '0000000000000.00' && billingInfo.PastAmountDue !== '0.00' && billingInfo.PastAmountDue !== '0'\n && billingInfo.PastAmountDue !== billingInfo.MinimumAmountDue)?_c('span',[_c('label',{staticClass:\"text-red font-weight-medium\"},[_vm._v(\"Past Due Balance:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(billingInfo.PastAmountDue, 2))),_c('br')]):_vm._e(),_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Remaining Balance Due:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(billingInfo.MaximumAmountDue, 2))),_c('br'),(!billingInfo.PastAmountDue || billingInfo.PastAmountDue === null || billingInfo.PastAmountDue === ''\n || billingInfo.PastAmountDue === '0000000000000.00' || billingInfo.PastAmountDue === '0.00' || billingInfo.PastAmountDue === '0')?_c('span',[_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Due Date:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(billingInfo.CurrentDueDate))),_c('br')]):_vm._e(),(billingInfo.PastAmountDue && billingInfo.PastAmountDue !== null && billingInfo.PastAmountDue !== ''\n && billingInfo.PastAmountDue !== '0000000000000.00' && billingInfo.PastAmountDue !== '0.00' && billingInfo.PastAmountDue !== '0')?_c('span',[_c('label',{staticClass:\"text-red font-weight-medium\"},[_vm._v(\"Past Due Date:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(billingInfo.CurrentDueDate))),_c('br')]):_vm._e()]):_c('div',[(billingInfo.MinimumAmountDue > 0)?_c('span',[_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Current Balance Due:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(billingInfo.MinimumAmountDue, 2))),_c('br')]):_vm._e(),(billingInfo.MaximumAmountDue > 0)?_c('span',[_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Remaining Balance Due:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(billingInfo.MaximumAmountDue, 2))),_c('br')]):_vm._e(),((billingInfo.MinimumAmountDue > 0 || billingInfo.MaximumAmountDue > 0)\n && (!billingInfo.BillingStatus || (billingInfo.BillingStatus !== 'BAC-9' && billingInfo.BillingStatus !== 'BAC-13')))?_c('span',[_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Due Date:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(billingInfo.CurrentDueDate))),_c('br')]):_vm._e(),((billingInfo.MinimumAmountDue > 0 || billingInfo.MaximumAmountDue > 0)\n && (billingInfo.BillingStatus && (billingInfo.BillingStatus === 'BAC-9' || billingInfo.BillingStatus === 'BAC-13')))?_c('span',[_c('label',{staticClass:\"text-red font-weight-medium\"},[_vm._v(\"Past Due Date:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(billingInfo.CurrentDueDate))),_c('br')]):_vm._e()]),_c('payment-menu',{attrs:{\"showLink\":!_vm.paymentsDisabled && (_vm.policy.PolicyStatus === 'ACTIVE' || billingInfo.MinimumAmountDue > 0) && _vm.policy.PolicyPayableFlag === 'Y',\"accountNumber\":billingInfo.InvoiceCloudAccountNumber,\"policyNumber\":_vm.policy.PolicyNumber,\"policyType\":_vm.policy.PolicyType,\"isGuidewire\":billingInfo.BillingSource === 'Guidewire',\"paymentTracking\":_vm.trackingId}}),(_vm.paymentsDisabled && (_vm.policy.PolicyStatus === 'ACTIVE' || billingInfo.MinimumAmountDue > 0) && _vm.policy.PolicyPayableFlag === 'Y')?_c('span',[_vm._v(\"Online Payments Unavailable\"),_c('br')]):_vm._e()],1)}),1):_c('div',[(_vm.policy.PolicyStatus === 'ACTIVE')?_c('div',[_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Current Balance Due:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.policy.PolicyMinimumAmountDue, 2))),_c('br'),_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Remaining Balance Due:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.policy.PolicyMaximumAmountDue, 2))),_c('br'),(!_vm.policy.BillingStatus || (_vm.policy.BillingStatus !== 'BAC-9' && _vm.policy.BillingStatus !== 'BAC-13'))?_c('span',[_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Due Date:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.policy.PolicyDueDate))),_c('br')]):_vm._e(),(_vm.policy.BillingStatus === 'BAC-9' || _vm.policy.BillingStatus === 'BAC-13')?_c('span',[_c('label',{staticClass:\"text-red font-weight-medium\"},[_vm._v(\"Past Due Date:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.policy.PolicyDueDate))),_c('br')]):_vm._e()]):_c('div',[(_vm.policy.PolicyMinimumAmountDue > 0)?_c('span',[_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Current Balance Due:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.policy.PolicyMinimumAmountDue, 2))),_c('br')]):_vm._e(),(_vm.policy.PolicyMaximumAmountDue > 0)?_c('span',[_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Remaining Balance Due:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.policy.PolicyMaximumAmountDue, 2))),_c('br')]):_vm._e(),((_vm.policy.PolicyMinimumAmountDue > 0 || _vm.policy.PolicyMaximumAmountDue > 0)\n && (!_vm.policy.BillingStatus || (_vm.policy.BillingStatus !== 'BAC-9' && _vm.policy.BillingStatus !== 'BAC-13')))?_c('span',[_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Due Date:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.policy.PolicyDueDate))),_c('br')]):_vm._e(),((_vm.policy.PolicyMinimumAmountDue > 0 || _vm.policy.PolicyMaximumAmountDue > 0)\n && (_vm.policy.BillingStatus && (_vm.policy.BillingStatus === 'BAC-9' || _vm.policy.BillingStatus === 'BAC-13')))?_c('span',[_c('label',{staticClass:\"text-red font-weight-medium\"},[_vm._v(\"Past Due Date:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.policy.PolicyDueDate))),_c('br')]):_vm._e()]),(_vm.policy.PolicyPremiumFinanceFlag === 'Y' && _vm.policy.PolicyType !== 'PR')?_c('div',{staticClass:\"py-1\"},[_c('label',{staticClass:\"font-weight-medium\"},[_vm._v(\"Contract Number:\")]),_c('router-link',{attrs:{\"to\":{ name: 'policyholderPolicyDetail',\n params: { policyType: 'premium-finance', policyNumber: _vm.policy.ContractNumber }}}},[_vm._v(\" \"+_vm._s(_vm.policy.ContractNumber)+\" \")]),_c('br')],1):_vm._e(),(_vm.policy.PolicyPremiumFinanceFlag === 'Y' && !_vm.paymentsDisabled)?_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.premiumFinancePayment(_vm.policy.ContractNumber, _vm.policy.PolicyMinimumAmountDue);}}},[_vm._v(\" Pay Premium Contract\"),_c('br')]):_vm._e(),(_vm.policy.PolicyPremiumFinanceFlag === 'Y' && _vm.paymentsDisabled)?_c('span',[_vm._v(\"Online Payments Unavailable\"),_c('br')]):_vm._e(),_c('payment-menu',{attrs:{\"showLink\":(_vm.policy.PolicyStatus === 'ACTIVE' || _vm.policy.PolicyMinimumAmountDue > 0) && _vm.policy.PolicyPayableFlag === 'Y' && !_vm.paymentsDisabled,\"accountNumber\":_vm.policy.MemberNumber,\"policyNumber\":_vm.policy.PolicyNumber,\"policyType\":_vm.policy.PolicyType,\"isGuidewire\":_vm.policy.GuidewireFlag === 'Y',\"paymentTracking\":_vm.trackingId}}),((_vm.policy.PolicyStatus === 'ACTIVE' || _vm.policy.PolicyMinimumAmountDue > 0) && _vm.policy.PolicyPayableFlag === 'Y' && _vm.paymentsDisabled)?_c('span',[_vm._v(\"Online Payments Unavailable\"),_c('br')]):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <v-row no-gutters\r\n v-if=\"policy.BillingInformation && policy.BillingInformation !== null && policy.BillingInformation.length > 0\">\r\n <v-col cols=\"12\"\r\n :sm=\"12 / policy.BillingInformation.length\"\r\n v-for=\"billingInfo in policy.BillingInformation\"\r\n v-bind:key=\"billingInfo.BillAccountNumber\">\r\n <div v-if=\"policy.PolicyStatus === 'ACTIVE'\">\r\n <label class=\"font-weight-medium\">Current Balance Due:</label> {{formatMoney(billingInfo.MinimumAmountDue, 2)}}<br />\r\n <span v-if=\"billingInfo.PastAmountDue && billingInfo.PastAmountDue !== null && billingInfo.PastAmountDue !== ''\r\n && billingInfo.PastAmountDue !== '0000000000000.00' && billingInfo.PastAmountDue !== '0.00' && billingInfo.PastAmountDue !== '0'\r\n && billingInfo.PastAmountDue !== billingInfo.MinimumAmountDue\">\r\n <label class=\"text-red font-weight-medium\">Past Due Balance:</label> {{formatMoney(billingInfo.PastAmountDue, 2)}}<br />\r\n </span>\r\n <label class=\"font-weight-medium\">Remaining Balance Due:</label> {{formatMoney(billingInfo.MaximumAmountDue, 2)}}<br />\r\n <span v-if=\"!billingInfo.PastAmountDue || billingInfo.PastAmountDue === null || billingInfo.PastAmountDue === ''\r\n || billingInfo.PastAmountDue === '0000000000000.00' || billingInfo.PastAmountDue === '0.00' || billingInfo.PastAmountDue === '0'\">\r\n <label class=\"font-weight-medium\">Due Date:</label> {{formatDate(billingInfo.CurrentDueDate)}}<br />\r\n </span>\r\n <span v-if=\"billingInfo.PastAmountDue && billingInfo.PastAmountDue !== null && billingInfo.PastAmountDue !== ''\r\n && billingInfo.PastAmountDue !== '0000000000000.00' && billingInfo.PastAmountDue !== '0.00' && billingInfo.PastAmountDue !== '0'\">\r\n <label class=\"text-red font-weight-medium\">Past Due Date:</label> {{formatDate(billingInfo.CurrentDueDate)}}<br />\r\n </span>\r\n </div>\r\n <div v-else>\r\n <span v-if=\"billingInfo.MinimumAmountDue > 0\">\r\n <label class=\"font-weight-medium\">Current Balance Due:</label> {{formatMoney(billingInfo.MinimumAmountDue, 2)}}<br />\r\n </span>\r\n <span v-if=\"billingInfo.MaximumAmountDue > 0\">\r\n <label class=\"font-weight-medium\">Remaining Balance Due:</label> {{formatMoney(billingInfo.MaximumAmountDue, 2)}}<br />\r\n </span>\r\n <span v-if=\"(billingInfo.MinimumAmountDue > 0 || billingInfo.MaximumAmountDue > 0)\r\n && (!billingInfo.BillingStatus || (billingInfo.BillingStatus !== 'BAC-9' && billingInfo.BillingStatus !== 'BAC-13'))\">\r\n <label class=\"font-weight-medium\">Due Date:</label> {{formatDate(billingInfo.CurrentDueDate)}}<br />\r\n </span>\r\n <span v-if=\"(billingInfo.MinimumAmountDue > 0 || billingInfo.MaximumAmountDue > 0)\r\n && (billingInfo.BillingStatus && (billingInfo.BillingStatus === 'BAC-9' || billingInfo.BillingStatus === 'BAC-13'))\">\r\n <label class=\"text-red font-weight-medium\">Past Due Date:</label> {{formatDate(billingInfo.CurrentDueDate)}}<br />\r\n </span>\r\n </div>\r\n <payment-menu :showLink=\"!paymentsDisabled && (policy.PolicyStatus === 'ACTIVE' || billingInfo.MinimumAmountDue > 0) && policy.PolicyPayableFlag === 'Y'\"\r\n :accountNumber=\"billingInfo.InvoiceCloudAccountNumber\"\r\n :policyNumber=\"policy.PolicyNumber\"\r\n :policyType=\"policy.PolicyType\"\r\n :isGuidewire=\"billingInfo.BillingSource === 'Guidewire'\"\r\n :paymentTracking=\"trackingId\"></payment-menu>\r\n <span v-if=\"paymentsDisabled && (policy.PolicyStatus === 'ACTIVE' || billingInfo.MinimumAmountDue > 0) && policy.PolicyPayableFlag === 'Y'\">Online Payments Unavailable<br /></span>\r\n </v-col>\r\n </v-row>\r\n <div v-else>\r\n <div v-if=\"policy.PolicyStatus === 'ACTIVE'\">\r\n <label class=\"font-weight-medium\">Current Balance Due:</label> {{formatMoney(policy.PolicyMinimumAmountDue, 2)}}<br />\r\n <label class=\"font-weight-medium\">Remaining Balance Due:</label> {{formatMoney(policy.PolicyMaximumAmountDue, 2)}}<br />\r\n <span v-if=\"!policy.BillingStatus || (policy.BillingStatus !== 'BAC-9' && policy.BillingStatus !== 'BAC-13')\">\r\n <label class=\"font-weight-medium\">Due Date:</label> {{formatDate(policy.PolicyDueDate)}}<br />\r\n </span>\r\n <span v-if=\"policy.BillingStatus === 'BAC-9' || policy.BillingStatus === 'BAC-13'\">\r\n <label class=\"text-red font-weight-medium\">Past Due Date:</label> {{formatDate(policy.PolicyDueDate)}}<br />\r\n </span>\r\n </div>\r\n <div v-else>\r\n <span v-if=\"policy.PolicyMinimumAmountDue > 0\">\r\n <label class=\"font-weight-medium\">Current Balance Due:</label> {{formatMoney(policy.PolicyMinimumAmountDue, 2)}}<br />\r\n </span>\r\n <span v-if=\"policy.PolicyMaximumAmountDue > 0\">\r\n <label class=\"font-weight-medium\">Remaining Balance Due:</label> {{formatMoney(policy.PolicyMaximumAmountDue, 2)}}<br />\r\n </span>\r\n <span v-if=\"(policy.PolicyMinimumAmountDue > 0 || policy.PolicyMaximumAmountDue > 0)\r\n && (!policy.BillingStatus || (policy.BillingStatus !== 'BAC-9' && policy.BillingStatus !== 'BAC-13'))\">\r\n <label class=\"font-weight-medium\">Due Date:</label> {{formatDate(policy.PolicyDueDate)}}<br />\r\n </span>\r\n <span v-if=\"(policy.PolicyMinimumAmountDue > 0 || policy.PolicyMaximumAmountDue > 0)\r\n && (policy.BillingStatus && (policy.BillingStatus === 'BAC-9' || policy.BillingStatus === 'BAC-13'))\">\r\n <label class=\"text-red font-weight-medium\">Past Due Date:</label> {{formatDate(policy.PolicyDueDate)}}<br />\r\n </span>\r\n </div>\r\n <div class=\"py-1\" v-if=\"policy.PolicyPremiumFinanceFlag === 'Y' && policy.PolicyType !== 'PR'\">\r\n <label class=\"font-weight-medium\">Contract Number:</label>\r\n <router-link :to=\"{ name: 'policyholderPolicyDetail',\r\n params: { policyType: 'premium-finance', policyNumber: policy.ContractNumber }}\">\r\n {{policy.ContractNumber}}\r\n </router-link><br />\r\n </div>\r\n <a href=\"\"\r\n v-on:click.prevent=\"premiumFinancePayment(policy.ContractNumber, policy.PolicyMinimumAmountDue);\"\r\n v-if=\"policy.PolicyPremiumFinanceFlag === 'Y' && !paymentsDisabled\">\r\n Pay Premium Contract<br />\r\n </a>\r\n <span v-if=\"policy.PolicyPremiumFinanceFlag === 'Y' && paymentsDisabled\">Online Payments Unavailable<br /></span>\r\n <payment-menu :showLink=\"(policy.PolicyStatus === 'ACTIVE' || policy.PolicyMinimumAmountDue > 0) && policy.PolicyPayableFlag === 'Y' && !paymentsDisabled\"\r\n :accountNumber=\"policy.MemberNumber\"\r\n :policyNumber=\"policy.PolicyNumber\"\r\n :policyType=\"policy.PolicyType\"\r\n :isGuidewire=\"policy.GuidewireFlag === 'Y'\"\r\n :paymentTracking=\"trackingId\"></payment-menu>\r\n <span v-if=\"(policy.PolicyStatus === 'ACTIVE' || policy.PolicyMinimumAmountDue > 0) && policy.PolicyPayableFlag === 'Y' && paymentsDisabled\">Online Payments Unavailable<br /></span>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import { insuredAccessOnlyErrorMessage } from '@/mixins/errorMessages';\r\n import PaymentMenu from '../components/PaymentMenu.vue';\r\n\r\n export default {\r\n name: 'SummaryPolicyBillingDisplay',\r\n props: {\r\n policy: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n components: {\r\n PaymentMenu,\r\n },\r\n data() {\r\n return {\r\n paymentsDisabled: false,\r\n };\r\n },\r\n mounted() {\r\n // Is this a member logged in or an internal user?\r\n if (this.isMemberRole) {\r\n // See if payments are enabled\r\n this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'Payments', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus !== '') {\r\n this.paymentsDisabled = true;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n } else {\r\n this.paymentsDisabled = true;\r\n }\r\n },\r\n methods: {\r\n premiumFinancePayment(contractNumber, minimumAmountDue) {\r\n if (this.isMemberRole) {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `${contractNumber}-${minimumAmountDue}`,\r\n fileName: 'PolicyBillingDisplay.vue',\r\n methodName: 'premiumFinancePayment-Start',\r\n trackerId: this.trackingId,\r\n });\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$store.commit('payments/SET_PF_PAYMENT_REQUEST', {\r\n ContractNumber: contractNumber,\r\n MinimumAmountDue: minimumAmountDue,\r\n });\r\n this.$router.push({ name: 'policyholderPFPayment' });\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', insuredAccessOnlyErrorMessage);\r\n }\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PolicyBillingDisplay.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PolicyBillingDisplay.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PolicyBillingDisplay.vue?vue&type=template&id=0b429c78\"\nimport script from \"./PolicyBillingDisplay.vue?vue&type=script&lang=js\"\nexport * from \"./PolicyBillingDisplay.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div id=\"account-summary\">\r\n <v-container fluid\r\n class=\"tfb-container pb-10\">\r\n <h1 class=\"tfb-title-text-medium text-darker-blue text-uppercase\">Account Summary</h1>\r\n <print-date></print-date>\r\n <membership-header></membership-header>\r\n <!-- Account Bill Summary -->\r\n <div v-if=\"accountBillList\">\r\n <v-row v-for=\"accountBill in accountBillList\"\r\n v-bind:key=\"accountBill.MasterAccountNumber\">\r\n <v-col>\r\n <v-container fluid\r\n class=\"active-policy drop-shadow\">\r\n <v-row>\r\n <v-col sm=\"2\"\r\n md=\"1\"\r\n class=\"d-none d-sm-flex no-print pl-lg-4\">\r\n <v-avatar class=\"policy-icon no-print\">\r\n <img v-bind:src=\"accountBill.IconPath\"\r\n v-bind:alt=\"accountBill.Description\"\r\n aria-hidden=\"true\" />\r\n </v-avatar>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"10\"\r\n md=\"6\">\r\n <span class=\"tfb-title-text-small text-uppercase\"\r\n v-html=\"accountBill.Description\">\r\n </span>  \r\n <router-link v-if=\"accountBill.DetailPath\"\r\n class=\"tfb-title-text-smaller\"\r\n :to=\"{ name: 'policyholderPolicyDetail', params: { policyType: accountBill.DetailPath, policyNumber: accountBill.MasterAccountNumber }}\">\r\n {{accountBill.MasterAccountNumber}}\r\n </router-link>\r\n <span v-else\r\n class=\"tfb-title-text-smaller\">{{accountBill.MasterAccountNumber}}</span>\r\n <br />\r\n <div class=\"text-uppercase py-1\">\r\n {{accountBill.InsuredFullName}}\r\n </div>\r\n <account-bill-billing-display :account-bill=\"accountBill\"></account-bill-billing-display>\r\n </v-col>\r\n <link-list displayLocation=\"summary\"\r\n displayType=\"accountbill\"\r\n :policyAccount=\"accountBill\"></link-list>\r\n </v-row>\r\n <print-date></print-date>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <!-- Policy Summary -->\r\n <!-- Loading Policies -->\r\n <div v-if=\"policyLoading && !policyList\">\r\n <v-row v-for=\"i in 3\"\r\n :key=\"i\">\r\n <v-col>\r\n <v-skeleton-loader :loading=\"policyLoading\"\r\n type=\"list-item-avatar-three-line\"\r\n class=\"mx-auto\">\r\n </v-skeleton-loader>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <!-- No Policies Found -->\r\n <div v-if=\"!policyLoading && (!policyList || policyList.length === 0)\">\r\n <v-row>\r\n <v-col>\r\n No Policies Found\r\n </v-col>\r\n </v-row>\r\n <print-date></print-date>\r\n </div>\r\n <!-- Policy Summary Display -->\r\n <div v-if=\"policyList\">\r\n <v-row v-for=\"policy in policyList\"\r\n v-bind:key=\"policy.PolicyNumber\">\r\n <v-col>\r\n <v-container fluid\r\n v-bind:class=\"[ policy.PolicyStatus === 'INACTIVE' ? 'inactive-policy' : 'background-white', 'drop-shadow' ]\">\r\n <v-row>\r\n <v-col sm=\"2\"\r\n md=\"1\"\r\n class=\"d-none d-sm-flex no-print pl-lg-4\">\r\n <v-avatar class=\"policy-icon no-print\">\r\n <img v-bind:src=\"policy.IconPath\"\r\n v-bind:alt=\"policy.PolicyDescription\"\r\n aria-hidden=\"true\" />\r\n </v-avatar>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"10\"\r\n md=\"6\">\r\n <span class=\"tfb-title-text-small text-uppercase\"\r\n v-html=\"policy.PolicyDescription\"></span>  \r\n <router-link v-if=\"policy.PolicyLinkFlag === 'Y' && policy.DetailPath !== ''\"\r\n class=\"tfb-title-text-smaller\"\r\n :to=\"{ name: 'policyholderPolicyDetail', params: { policyType: policy.DetailPath, policyNumber: policy.PolicyNumber }}\">\r\n {{policy.PolicyNumber}}\r\n </router-link>\r\n <span v-else\r\n class=\"tfb-title-text-smaller\">\r\n {{policy.PolicyNumber}}\r\n </span>\r\n <v-icon v-if=\"policy.PolicyStatus === 'INACTIVE'\"\r\n @click.stop=\"inactiveDialog = true\">mdi-information-outline</v-icon>\r\n <br />\r\n <div v-bind:class=\"[ policy.PolicyStatus === 'INACTIVE' ? 'inactive-policy-name' : '', 'text-uppercase', 'py-1' ]\">\r\n {{policy.PolicyInsuredName}}\r\n </div>\r\n <div class=\"py-1\"\r\n v-if=\"policy.PolicyType !== 'PR'\">\r\n {{formatDate(policy.PolicyEffectiveDate)}} -\r\n {{formatDate(policy.PolicyExpirationDate)}}\r\n </div>\r\n <div class=\"py-1 text-uppercase\"\r\n v-if=\"policy.PropertyLocation && policy.PropertyLocation.trim() !== ''\">\r\n {{policy.PropertyLocation}}\r\n </div>\r\n <policy-billing-display :policy=\"policy\"></policy-billing-display>\r\n </v-col>\r\n <link-list displayLocation=\"summary\"\r\n displayType=\"policy\"\r\n :policyAccount=\"policy\"></link-list>\r\n </v-row>\r\n <print-date></print-date>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n </v-container>\r\n <v-dialog v-model=\"inactiveDialog\"\r\n max-width=\"290\">\r\n <v-card>\r\n <v-card-title class=\"headline\">Inactive Policy</v-card-title>\r\n <v-card-text>\r\n Your policy is INACTIVE.\r\n Please pay the current balance due amount if one is present.\r\n Please note that paying the current balance due WILL NOT make\r\n your policy active. If you would like to reissue your policy,\r\n please contact your agent.\r\n </v-card-text>\r\n <v-divider></v-divider>\r\n <v-card-actions>\r\n <v-spacer></v-spacer>\r\n <v-btn color=\"primary\"\r\n text\r\n @click=\"inactiveDialog = false\">\r\n Close\r\n </v-btn>\r\n </v-card-actions>\r\n </v-card>\r\n </v-dialog>\r\n </div>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import tfbMetaInfo from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import MembershipHeader from './components/MembershipHeader.vue';\r\n import LinkList from './components/LinkList.vue';\r\n import PrintDate from './components/PrintDate.vue';\r\n import AccountBillBillingDisplay from './summary/AccountBillBillingDisplay.vue';\r\n import PolicyBillingDisplay from './summary/PolicyBillingDisplay.vue';\r\n\r\n export default {\r\n name: 'AccountSummary',\r\n mixins: [tfbMetaInfo, tfbHelperMixin],\r\n components: {\r\n MembershipHeader,\r\n LinkList,\r\n PrintDate,\r\n PolicyBillingDisplay,\r\n AccountBillBillingDisplay,\r\n },\r\n data() {\r\n return {\r\n inactiveDialog: false,\r\n policyLoading: true,\r\n accountBillList: null,\r\n policyList: null,\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Account Summary | PolicyHolder';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/account-summary`;\r\n },\r\n memberNumber() {\r\n try {\r\n return this.$store.getters['member/memberNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n },\r\n methods: {\r\n async getAccountSummary() {\r\n this.policyLoading = true;\r\n this.accountBillList = null;\r\n this.policyList = null;\r\n\r\n if (this.memberNumber !== '') {\r\n dispatch('policy/getAccountSummary', { sMemberNumber: this.memberNumber, sTfbId: this.trackingId })\r\n .then((accountSummary) => {\r\n this.policyList = accountSummary;\r\n this.policyLoading = false;\r\n for (let i = 0; i < accountSummary.length; i += 1) {\r\n const policy = accountSummary[i];\r\n\r\n if (policy.PropertyLocation && (policy.PropertyLocation === ' ' || policy.PropertyLocation === '' || policy.PropertyLocation === null)) {\r\n this.getPropertyLocation(policy.PolicyNumber, policy.PolicyType, policy.PolicySubType, policy.PolicySymbol, policy)\r\n .then((propertyData) => {\r\n policy.PropertyLocation = propertyData;\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n }\r\n\r\n if (((policy.PolicyType === 'TC' || policy.PolicyType === 'CF') && policy.PolicySubType === '1')\r\n || (policy.PolicyType === 'CP' && policy.PolicySubType === '2')) {\r\n this.getPolicyDescription(policy.PolicyNumber, policy.PolicyType, policy)\r\n .then((descriptionData) => {\r\n policy.PolicyDescription = descriptionData;\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('app/setIsLoading', true);\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n }\r\n dispatch('app/setErrorMessage', error.toString());\r\n this.policyLoading = false;\r\n });\r\n\r\n dispatch('payments/getAccountBillInformation', { sMemberNumber: this.memberNumber, sTfbId: this.trackingId })\r\n .then((accountBillSummary) => {\r\n this.accountBillList = accountBillSummary;\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n }\r\n },\r\n getPolicyDescription(policyNumber, policyType, policyDetail) {\r\n return new Promise((resolve, reject) => {\r\n dispatch('policy/getMajescoPolicyInformation', {\r\n sPolicyDetail: policyDetail, sPolicyNumber: policyNumber, sPolicyType: policyType, sTfbId: this.trackingId,\r\n })\r\n .then((majescoData) => {\r\n if (majescoData.PolicyName && majescoData.PolicyName !== '') {\r\n resolve(majescoData.PolicyName);\r\n }\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getPropertyLocation(policyNumber, policyType, policySubType, policySymbol, policyDetail) {\r\n const dataRequest = {\r\n sPolicyDetail: policyDetail,\r\n sPolicyNumber: policyNumber,\r\n sPolicyType: policyType,\r\n sPolicySubType: policySubType,\r\n sPolicySymbol: policySymbol,\r\n sTfbId: this.trackingId,\r\n };\r\n\r\n return new Promise((resolve) => {\r\n if (policyType === 'AA' || policyType === 'AT') {\r\n dispatch('policy/getTAAPolicyInformation', dataRequest)\r\n .then((taaPHData) => {\r\n if (taaPHData) {\r\n resolve(taaPHData.PropertyLocation);\r\n } else {\r\n resolve('');\r\n }\r\n })\r\n .catch(() => {\r\n resolve('');\r\n });\r\n } else if (policyType === 'HT' || policyType === 'TT') {\r\n dispatch('policy/getHOLPolicyInformation', dataRequest)\r\n .then((holPHData) => {\r\n if (holPHData) {\r\n resolve(holPHData.PropertyLocation);\r\n } else {\r\n resolve('');\r\n }\r\n })\r\n .catch(() => {\r\n resolve('');\r\n });\r\n } else if (policyType === 'SF' || policyType === 'PF') {\r\n if (policySubType === '1') {\r\n dispatch('policy/getSFPolicyInformation', dataRequest)\r\n .then((sfData) => {\r\n if (sfData) {\r\n resolve(sfData.PropertyLocation);\r\n } else {\r\n resolve('');\r\n }\r\n })\r\n .catch(() => {\r\n resolve('');\r\n });\r\n }\r\n } else if (((policyType === 'TC' || policyType === 'CF') && policySubType === '1')\r\n || (policyType === 'CP' && policySubType === '2')) {\r\n dispatch('policy/getMajescoPolicyInformation', dataRequest)\r\n .then((majescoData) => {\r\n if (majescoData.Locations && majescoData.Locations.length > 0) {\r\n resolve(majescoData.Locations[0].LocationAddress);\r\n } else {\r\n resolve('');\r\n }\r\n })\r\n .catch(() => {\r\n resolve('');\r\n });\r\n }\r\n });\r\n },\r\n },\r\n watch: {\r\n memberNumber: 'getAccountSummary',\r\n },\r\n mounted() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n dispatch('app/doApplicationCheck', { sApplicationName: 'Policyholder', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus === '') {\r\n const includedToken = this.$route.query.access_token;\r\n dispatch('member/validateLogin', { sToken: includedToken, sTfbId: this.trackingId })\r\n .then((loginValid) => {\r\n if (loginValid) {\r\n if (this.doStatusCheck()) {\r\n this.getAccountSummary();\r\n }\r\n dispatch('app/setIsLoading', false);\r\n } else {\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n dispatch('app/setErrorMessage', accessError.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n } else {\r\n dispatch('app/setErrorMessage', returnedStatus);\r\n dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .inactive-policy {\r\n background-color: $tfb-lighter-gray;\r\n }\r\n\r\n .active-policy {\r\n background-color: $white;\r\n }\r\n\r\n .inactive-policy-name {\r\n color: $tfb-darker-red;\r\n }\r\n\r\n .policy-icon {\r\n background-color: $tfb-blue !important;\r\n border: 4px solid $tfb-blue !important;\r\n height: 25px !important;\r\n min-width: 25px !important;\r\n width: 25px !important;\r\n }\r\n\r\n div .policy-separator:not(:first-child) {\r\n border-top: solid 1px $tfb-gray;\r\n }\r\n\r\n @media (min-width: 960px) {\r\n div .policy-separator:not(:first-child) {\r\n border-top: none;\r\n border-left: solid 1px $tfb-gray;\r\n }\r\n }\r\n\r\n @media (min-width: 600px) {\r\n .policy-icon {\r\n height: 75px !important;\r\n min-width: 75px !important;\r\n width: 75px !important;\r\n margin-left: auto !important;\r\n margin-right: auto !important;\r\n }\r\n .policy-icon img {\r\n padding: 10px;\r\n }\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSummary.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSummary.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountSummary.vue?vue&type=template&id=bfcd4b5e\"\nimport script from \"./AccountSummary.vue?vue&type=script&lang=js\"\nexport * from \"./AccountSummary.vue?vue&type=script&lang=js\"\nimport style0 from \"./AccountSummary.vue?vue&type=style&index=0&id=bfcd4b5e&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"policy-details\"}},[_c('v-container',{staticClass:\"tfb-container\",attrs:{\"fluid\":\"\"}},[(_vm.policyDetails)?_c('h2',{staticClass:\"tfb-title-text-medium text-darker-blue text-uppercase\",domProps:{\"innerHTML\":_vm._s(_vm.policyDetails.PolicyDescription)}}):_c('h2',{staticClass:\"tfb-title-text-medium text-darker-blue text-uppercase\"},[_vm._v(\" Policy Details \")]),_c('v-skeleton-loader',{staticClass:\"mx-auto drop-shadow policy-box px-2 px-md-4 px-lg-6 mb-10\",attrs:{\"loading\":_vm.policyLoading,\"type\":\"list-item-avatar-three-line\"}},[(!_vm.policyDetails || _vm.policyDetails.length === 0)?_c('v-row',[_c('v-col',[_vm._v(\" Unable to locate policy information \")])],1):_c('v-container',{attrs:{\"fluid\":\"\"}},[(_vm.policyDetails.PolicyType !== 'PR')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"7\"}},[_c('h3',{staticClass:\"tfb-title-text-small text-darker-blue text-uppercase\"},[_vm._v(\" Policy \"+_vm._s(_vm.policyDetails.PolicyNumber)+\" \")]),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Effective Dates:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.policyDetails.PolicyEffectiveDate))+\" — \"+_vm._s(_vm.formatDate(_vm.policyDetails.PolicyExpirationDate))),_c('br')]),_c('v-col',{staticClass:\"policy-separator\",attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('policy-payment-list',{attrs:{\"policyDetails\":_vm.policyDetails}})],1)],1):_vm._e(),(_vm.policyDetails.PolicyType !== 'PR')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"7\"}},[_c('h3',{staticClass:\"text-blue font-weight-bold\"},[_vm._v(\"Policyholder Information:\")]),_c('span',{staticClass:\"font-weight-bold\",domProps:{\"innerHTML\":_vm._s(_vm.policyDetails.InsuredNames)}}),_c('br'),(_vm.policyDetails.FormattedPolicyAddress)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.policyDetails.FormattedPolicyAddress)}}):_vm._e(),(_vm.policyDetails.PolicyType !== 'AB')?_c('span',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Company:\")]),_vm._v(\" \"+_vm._s(_vm.policyDetails.WritingCompany)+\" \"),_c('br')]):_vm._e(),(_vm.policyDetails.PolicyType === 'UM')?_c('span',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Umbrella Policy Type:\")]),_vm._v(\" \"+_vm._s(_vm.policyDetails.PolicyDescription)+\" \"),_c('br'),(_vm.policyDetails.PolicyLimit && _vm.policyDetails.PolicyLimit !== '' && _vm.policyDetails.PolicyLimit !== '0')?_c('span',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Umbrella Policy Limit:\")]),_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.policyDetails.PolicyLimit, 0))),_c('br')]):_vm._e()]):_vm._e(),_c('br')]),_c('link-list',{attrs:{\"displayLocation\":\"details\",\"displayType\":\"policy\",\"policyAccount\":_vm.policyDetails}})],1):_vm._e(),(_vm.policyDetails.PolicyType === 'PR')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"7\"}},[_c('span',{staticClass:\"tfb-title-text-small text-darker-blue text-uppercase\"},[_vm._v(\" Contract Number \"+_vm._s(_vm.policyDetails.PolicyNumber)+\" \")])]),_c('v-col',{staticClass:\"policy-separator\",attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\"Monthly Payment:\"),_c('br')]),_c('div',{staticClass:\"text-right text-md-left\"},[_vm._v(_vm._s(_vm.formatMoney(_vm.policyDetails.PolicyMinimumAmountDue, 2))),_c('br')]),_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\"Current Due Date:\"),_c('br')]),_c('div',{staticClass:\"text-right text-md-left\"},[_vm._v(_vm._s(_vm.formatDate(_vm.policyDetails.PolicyDueDate))),_c('br')]),_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\"Total Amount Due:\"),_c('br')]),_c('div',{staticClass:\"text-right text-md-left\"},[_vm._v(_vm._s(_vm.formatMoney(_vm.policyDetails.PolicyMaximumAmountDue, 2))),_c('br')])])],1):_vm._e(),(_vm.policyDetails.PolicyType === 'PR')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"7\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Contract Date:\")]),_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.policyDetails.ContractDate))),_c('br'),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Total Premium:\")]),_vm._v(\" \"+_vm._s(_vm.policyDetails.TotalPremium)),_c('br'),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Finance Charge:\")]),_vm._v(\" \"+_vm._s(_vm.policyDetails.FinanceCharge)),_c('br')]),_c('link-list',{attrs:{\"displayLocation\":\"details\",\"displayType\":\"policy\",\"policyAccount\":_vm.policyDetails}})],1):_vm._e(),(_vm.policyDetails.PolicyType === 'AB')?_c('v-expansion-panels',{staticClass:\"tfb-section\",attrs:{\"accordion\":\"\",\"flat\":\"\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"text-blue text-right font-weight-bold px-0\",scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('v-icon',[_vm._v(\"$expand\")])]},proxy:true}],null,false,2072193525)},[_c('span',{staticClass:\"text-right\"},[_vm._v(\"Policy Listing\")])]),_c('v-expansion-panel-content',{staticClass:\"background-lightest-gray py-4\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"text-blue font-weight-bold\"},[_vm._v(\"Associated Policies\")])])],1),_c('v-data-table',{staticClass:\"tfb-table\",attrs:{\"dense\":\"\",\"headers\":_vm.abPolicyHeaders,\"items\":_vm.policyDetails.Policies,\"items-per-page\":10,\"sort-by\":\"policyNbr\",\"sort-desc\":\"\"},scopedSlots:_vm._u([{key:\"no-data\",fn:function(){return [_vm._v(\" No Policy Information Available \")]},proxy:true}],null,false,2773047637)})],1)],1)],1):_vm._e(),_c('billing-payment-history',{attrs:{\"policyDetails\":_vm.policyDetails}}),_c('billing-document-list',{attrs:{\"policyNumber\":_vm.policyDetails.PolicyNumber,\"policyType\":_vm.policyDetails.PolicyType,\"policySubType\":_vm.policyDetails.PolicySubType,\"laurusFlag\":_vm.policyDetails.LaurusFlag,\"guidewireFlag\":_vm.policyDetails.GuidewireFlag}}),(_vm.showPolicyDocuments)?_c('policy-document-list',{attrs:{\"policyNumber\":_vm.policyDetails.PolicyNumber,\"policyType\":_vm.policyDetails.PolicyType,\"policySubType\":_vm.policyDetails.PolicySubType,\"policySymbol\":_vm.policyDetails.PolicySymbol,\"effectiveDate\":_vm.policyDetails.EffectiveDate,\"expirationDate\":_vm.policyDetails.ExpirationDate,\"futureEffectiveDate\":_vm.policyDetails.FutureEffectiveDate,\"futureExpirationDate\":_vm.policyDetails.FutureExpirationDate,\"openPanel\":99}}):_vm._e(),(_vm.policyDetails.PolicyType !== 'CA' && _vm.policyDetails.PolicyType !== 'SM')?_c('div',[((_vm.policyDetails.PolicyType === 'TC' || _vm.policyDetails.PolicyType === 'CF' || _vm.policyDetails.PolicyType === 'CP') && _vm.policyDetails.PolicySubType !== '3')?_c('v-row',[_c('h3',{staticClass:\"text-blue font-weight-bold\"},[_vm._v(\"Location of Property\")]),(_vm.policyDetails.Locations && _vm.policyDetails.Locations.length > 0)?_c('v-col',{staticClass:\"px-0\",attrs:{\"cols\":\"12\"}},_vm._l((_vm.policyDetails.Locations),function(location){return _c('div',{key:location.LocationId},[_vm._v(\" \"+_vm._s(location.LocationAddress)),_c('br')])}),0):_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" None\"),_c('br')])],1):_c('div',[(((_vm.policyDetails.PolicyType === 'PF' || _vm.policyDetails.PolicyType === 'SF') && _vm.policyDetails.PolicySubType === '1') || _vm.policyDetails.GuidewireFlag === 'Y')?_c('v-row',[_c('span',{staticClass:\"text-blue font-weight-bold\"},[_vm._v(\"Location of Property\")]),(_vm.policyDetails.Locations && _vm.policyDetails.Locations.length > 0)?_c('v-col',{staticClass:\"px-0\",attrs:{\"cols\":\"12\"}},_vm._l((_vm.policyDetails.Locations),function(location){return _c('div',{key:location.id},[_vm._v(\" \"+_vm._s(location)),_c('br')])}),0):_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" None\"),_c('br')])],1):_c('v-row',[(_vm.policyDetails.PropertyLocation && _vm.policyDetails.PropertyLocation.trim() !== '')?_c('v-col',{staticClass:\"px-0\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"text-blue font-weight-bold\"},[_vm._v(\"Location of Property\")]),_c('br'),_vm._v(\" \"+_vm._s(_vm.policyDetails.PropertyLocation)+\" \")]):_vm._e()],1)],1),(_vm.policyDetails.PolicyForm && _vm.policyDetails.PolicyForm !== '')?_c('v-row',[_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Form:\")]),_vm._v(\" \"+_vm._s(_vm.policyDetails.PolicyForm)+\" \"),_c('br')])],1):_vm._e(),(_vm.policyDetails.LocationConstruction && _vm.policyDetails.LocationConstruction !== '' && _vm.policyDetails.PolicyType !== 'PF' && _vm.policyDetails.PolicyType !== 'SF')?_c('v-row',[_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Construction:\")]),_vm._v(\" \"+_vm._s(_vm.policyDetails.LocationConstruction)),_c('br')])],1):_vm._e()],1):_vm._e(),(_vm.policyDetails.PolicyType !== 'SM' && _vm.policyDetails.PolicyType !== 'CA' && _vm.policyDetails.PolicyType !== 'PR' && _vm.policyDetails.PolicyType !== 'AB'\n && _vm.policyDetails.PolicyType !== 'UM' && _vm.policyDetails.PolicyType !== 'CP' && _vm.policyDetails.PolicyType !== 'CF' && _vm.policyDetails.PolicyType !== 'TC')?_c('div',[_c('v-expansion-panels',{staticClass:\"my-3\",attrs:{\"accordion\":\"\",\"flat\":\"\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"px-0\"},[_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('v-icon',[_vm._v(\"$expand\")])]},proxy:true}],null,false,2072193525)},[_c('h3',{staticClass:\"text-blue font-weight-bold\"},[_vm._v(\"Coverage Information\")])])],1)],1),_c('v-expansion-panel-content',{staticClass:\"background-lightest-gray pb-5\"},[_c('v-row',{staticClass:\"mt-2\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"tfb-title-text-smaller font-weight-bold text-blue\"},[_vm._v(\" Coverages \")])])],1),(_vm.policyDetails.GuidewireFlag === 'Y' && _vm.policyDetails.Sections)?_c('guidewire-policy-coverages',{attrs:{\"policyDetails\":_vm.policyDetails}}):((_vm.policyDetails.PolicyType === 'AA' || _vm.policyDetails.PolicyType === 'AT' || _vm.policyDetails.PolicyType === 'HT'\n || _vm.policyDetails.PolicyType === 'TT' || ((_vm.policyDetails.PolicyType === 'PF' || _vm.policyDetails.PolicyType === 'SF') && _vm.policyDetails.PolicySubType === '1'))\n && _vm.policyDetails.Sections)?_c('v-container',{staticClass:\"py-0\",attrs:{\"fluid\":\"\"}},_vm._l((_vm.policyDetails.Sections),function(section){return _c('div',{key:section.id},[(section.Name !== 'Mortgagees' && section.Name !== 'Mortgagees/Loss Payees')?_c('div',{staticClass:\"py-2\"},[_c('v-row',[_c('v-col',{staticClass:\"pb-1\",attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(section.Name))])])],1),(section.Coverages && section.Coverages.length > 0)?_c('v-container',{staticClass:\"py-0\",attrs:{\"fluid\":\"\"}},_vm._l((section.Coverages),function(coverage){return _c('div',{key:coverage.id},[(!coverage.CoverageDetail || coverage.CoverageDetail.length <= 0)?_c('v-row',{staticClass:\"mt-3\"},[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"9\"}},[(coverage.Group != '')?_c('span',[_vm._v(_vm._s(coverage.Group)+\". \")]):_vm._e(),_vm._v(_vm._s(coverage.Name)+\" \")]),_c('v-col',{staticClass:\"text-right text-md-left py-0\",attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_vm._v(_vm._s(coverage.Limit))]),_c('v-col',{staticClass:\"d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1):_vm._e(),(coverage.CoverageDetail && coverage.CoverageDetail.length > 0)?_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{staticClass:\"mt-1 pb-1\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(coverage.Name))])])],1),_vm._l((coverage.CoverageDetail),function(subCoverage){return _c('v-row',{key:subCoverage.id},[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(subCoverage.Name))]),_c('v-col',{staticClass:\"d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1)})],2):_vm._e()],1)}),0):_c('v-row',[_c('v-col',{staticClass:\"py-0 px-6\",attrs:{\"cols\":\"12\"}},[_vm._v(\"None\")])],1),(section.Deductibles && section.Deductibles.length > 0 && _vm.policyDetails.GuidewireFlag !== 'Y' && _vm.policyDetails.PolicyType !== 'PF'\n && _vm.policyDetails.PolicyType !== 'SF')?_c('v-container',{staticClass:\"mt-3 pb-0\",attrs:{\"fluid\":\"\"}},_vm._l((section.Deductibles),function(deductible){return _c('v-row',{key:deductible.id},[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"9\"}},[_vm._v(_vm._s(deductible.Name))]),_c('v-col',{staticClass:\"text-right text-md-left py-0\",attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_vm._v(_vm._s(_vm.formatMoney(deductible.Amount, 0)))]),_c('v-col',{staticClass:\"d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1)}),1):_vm._e()],1):_vm._e()])}),0):_c('v-container',{staticClass:\"py-0\",attrs:{\"fluid\":\"\"}},[(_vm.policyDetails.Coverages && _vm.policyDetails.Coverages.length > 0)?_c('div',_vm._l((_vm.policyDetails.Coverages),function(coverage){return _c('v-row',{key:coverage.ItemNumberDescription},[(!coverage.ItemNumberDescription && !coverage.Description)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"7\"}},[_vm._v(\"Unknown\")]):_vm._e(),(!coverage.ItemNumberDescription && coverage.Description)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"7\"}},[_vm._v(_vm._s(coverage.Description))]):_vm._e(),(coverage.ItemNumberDescription)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"7\"}},[_vm._v(_vm._s(coverage.ItemNumberDescription))]):_vm._e(),_c('v-col',{staticClass:\"text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_vm._v(_vm._s(_vm.formatMoney(coverage.Limit, 0)))])],1)}),1):_c('v-row',[_c('v-col',{staticClass:\"px-6 py-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\"None\")])],1)],1),(((_vm.policyDetails.PolicyType === 'PF' || _vm.policyDetails.PolicyType === 'SF') && _vm.policyDetails.PolicySubType === '1') || _vm.policyDetails.GuidewireFlag === 'Y')?_c('div',[_c('v-row',{staticClass:\"mt-2\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"tfb-title-text-smaller font-weight-bold text-blue\"},[_vm._v(\" Deductibles \")])])],1),(_vm.policyDetails.Sections)?_c('v-container',{staticClass:\"py-0\",attrs:{\"fluid\":\"\"}},_vm._l((_vm.policyDetails.Sections),function(section){return _c('div',{key:section.id},[(section.Name !== 'Mortgagees' && section.Name !== 'Mortgagees/Loss Payees')?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(section.Name))])])],1),(section.Deductibles && section.Deductibles.length > 0)?_c('v-container',{staticClass:\"py-0\",attrs:{\"fluid\":\"\"}},_vm._l((section.Deductibles),function(deductible){return _c('v-row',{key:deductible.id},[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"9\"}},[_vm._v(_vm._s(deductible.ObjectName))]),_c('v-col',{staticClass:\"text-right text-md-left py-0\",attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_vm._v(_vm._s(_vm.formatMoney(deductible.Amount, 0)))]),_c('v-col',{staticClass:\"d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1)}),1):_c('v-row',[_c('v-col',{staticClass:\"px-6 py-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\" None \")])],1)],1):_vm._e()])}),0):_c('v-row',[_c('v-col',{staticClass:\"px-6 py-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\" None \")])],1)],1):_vm._e(),_c('v-row',{staticClass:\"mt-2\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"tfb-title-text-smaller font-weight-bold text-blue\"},[_vm._v(\" Endorsements \")])])],1),(_vm.policyDetails.GuidewireFlag === 'Y')?_c('guidewire-endorsements',{attrs:{\"policyDetails\":_vm.policyDetails}}):_c('v-container',{staticClass:\"py-0\",attrs:{\"fluid\":\"\"}},[(_vm.policyDetails.Endorsements && _vm.policyDetails.Endorsements.length > 0)?_c('div',_vm._l((_vm.policyDetails.Endorsements),function(endorsement){return _c('v-row',{key:endorsement.Id},[_c('v-col',{staticClass:\"py-0 d-none d-sm-block\",attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(endorsement.Id))]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"9\"}},[_vm._v(_vm._s(endorsement.Name))]),_c('v-col',{staticClass:\"d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1)}),1):_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\"None\")])],1)],1),_c('v-row',{staticClass:\"mt-2\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"tfb-title-text-smaller font-weight-bold text-blue\"},[_vm._v(\" Discounts \")])])],1),_c('v-container',{staticClass:\"py-0\",attrs:{\"fluid\":\"\"}},[(_vm.policyDetails.Discounts && _vm.policyDetails.Discounts.length > 0)?_c('div',_vm._l((_vm.policyDetails.Discounts),function(discount){return _c('v-row',{key:discount.id},[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(discount.Name))]),_c('v-col',{staticClass:\"d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1)}),1):_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\"None\")])],1)],1),_c('v-row',{staticClass:\"mt-2\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"tfb-title-text-smaller font-weight-bold text-blue\"},[_vm._v(\"Mortgagees/Loss Payees\")])])],1),(_vm.policyDetails.GuidewireFlag === 'Y')?_c('guidewire-mortgagees-loss-payees',{attrs:{\"policyDetails\":_vm.policyDetails}}):_c('v-container',{staticClass:\"py-0\",attrs:{\"fluid\":\"\"}},[(_vm.policyDetails.Mortgagees && _vm.policyDetails.Mortgagees.length > 0)?_c('div',_vm._l((_vm.policyDetails.Mortgagees),function(mortgagee){return _c('v-row',{key:mortgagee.id},[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(mortgagee.Name))]),_c('br'),(mortgagee.AdditionalName && mortgagee.AdditionalName.length > 0)?_c('span',[_c('em',[_vm._v(_vm._s(mortgagee.AdditionalName))]),_c('br')]):_vm._e(),(mortgagee.LoanNumber && mortgagee.LoanNumber.length > 0)?_c('span',[_vm._v(\" Loan Number: \"+_vm._s(mortgagee.LoanNumber)),_c('br')]):_vm._e(),(mortgagee.Loan && mortgagee.Loan.length > 0)?_c('span',[_vm._v(\" Loan Number: \"+_vm._s(mortgagee.Loan)),_c('br')]):_vm._e(),(mortgagee.Address)?_c('address',[_vm._v(\" \"+_vm._s(mortgagee.Address)+\" \")]):_vm._e(),_c('div',{staticClass:\"d-block d-lg-none\"},[_c('hr')])])],1)}),1):_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\"None\")])],1)],1)],1)],1)],1)],1):_vm._e(),((_vm.policyDetails.PolicyType === 'CP' || _vm.policyDetails.PolicyType === 'CF' || _vm.policyDetails.PolicyType === 'TC') && _vm.policyDetails.PolicySubType !== '3')?_c('div',[_c('v-expansion-panels',{staticClass:\"tfb-section py-1 my-3\",attrs:{\"accordion\":\"\",\"flat\":\"\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"px-0\"},[_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('v-icon',[_vm._v(\"$expand\")])]},proxy:true}],null,false,2072193525)},[_c('h3',{staticClass:\"text-blue font-weight-bold\"},[_vm._v(\"Coverage Information\")])])],1)],1),_c('v-expansion-panel-content',{staticClass:\"pa-0 background-lightest-gray\"},[(!_vm.policyDetails.Coverages || _vm.policyDetails.Coverages.length === 0)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\"None\")])],1):_c('v-row',_vm._l((_vm.policyDetails.Coverages),function(coverageLocation,index){return _c('v-container',{key:coverageLocation.LocationId},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-smaller font-weight-bold\"},[_vm._v(\" \"+_vm._s(coverageLocation.LocationAddress)+\" \")])])],1),(coverageLocation.OccurrenceLimit || coverageLocation.AggregateLimit)?_c('v-container',[(coverageLocation.OccurrenceLimit)?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Each Occurrence Limit (CSL):\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_vm._v(_vm._s(_vm.formatMoney(coverageLocation.OccurrenceLimit, 0)))]),_c('v-col',{staticClass:\"py-0 d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1):_vm._e(),(coverageLocation.AggregateLimit)?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"General Aggregate Limit (CSL):\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_vm._v(_vm._s(_vm.formatMoney(coverageLocation.AggregateLimit, 0)))])],1):_vm._e()],1):_vm._e(),(coverageLocation.Buildings && coverageLocation.Buildings.length > 0)?_c('div',_vm._l((coverageLocation.Buildings),function(building){return _c('v-container',{key:building.BuildingId},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-smallest font-weight-bold\"},[_vm._v(_vm._s(building.BuildingDescription))])])],1),(building.BuildingCoverage && building.BuildingCoverage !== '')?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Building Coverage:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_vm._v(_vm._s(_vm.formatMoney(building.BuildingCoverage, 0)))]),(index != _vm.policyDetails.Coverages.length - 1)?_c('v-col',{staticClass:\"py-0 d-block d-lg-none\",attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('hr')]):_vm._e()],1):_vm._e(),(building.BusinessPersonalPropertyCoverage && building.BusinessPersonalPropertyCoverage !== '')?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Business Personal Property Coverage:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_vm._v(_vm._s(_vm.formatMoney(building.BusinessPersonalPropertyCoverage, 0)))]),_c('v-col',{staticClass:\"py-0 d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1):_vm._e(),(building.BusinessIncomeCoverage && building.BusinessIncomeCoverage !== '')?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Business Income Coverage:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_vm._v(_vm._s(_vm.formatMoney(building.BusinessIncomeCoverage, 0)))]),_c('v-col',{staticClass:\"py-0 d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1):_vm._e(),(building.SpecialClassCoverage && building.SpecialClassCoverage !== '')?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Special Class Coverage:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_vm._v(_vm._s(_vm.formatMoney(building.SpecialClassCoverage, 0)))]),_c('v-col',{staticClass:\"py-0 d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1):_vm._e(),(building.DeductibleAmount && building.DeductibleAmount !== '')?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Deductible:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_vm._v(_vm._s(_vm.formatMoney(building.DeductibleAmount, 0)))]),_c('v-col',{staticClass:\"py-0 d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1):_vm._e(),(coverageLocation.OccurrenceLimit && coverageLocation.OccurrenceLimit !== '')?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Each Occurrence Limit (CSL):\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_vm._v(_vm._s(_vm.formatMoney(coverageLocation.OccurrenceLimit, 0)))]),_c('v-col',{staticClass:\"py-0 d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1):_vm._e(),(coverageLocation.AggregateLimit && coverageLocation.AggregateLimit !== '')?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"General Aggregate Limit (CSL):\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_vm._v(_vm._s(_vm.formatMoney(coverageLocation.AggregateLimit, 0)))]),_c('v-col',{staticClass:\"py-0 d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1):_vm._e()],1)}),1):_vm._e(),(index != _vm.policyDetails.Coverages.length - 1)?_c('v-col',{staticClass:\"d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')]):_vm._e()],1)}),1)],1)],1)],1)],1):_vm._e(),(_vm.policyDetails.PolicyType === 'CP' && _vm.policyDetails.PolicySubType === '3')?_c('div',[_c('farm-liability-locations',{attrs:{\"locations\":_vm.policyDetails.Locations}})],1):_vm._e(),(_vm.policyDetails.PolicyType === 'UM')?_c('div',[_c('underlying-locations',{attrs:{\"locations\":_vm.policyDetails.Locations}}),_c('underlying-policies',{attrs:{\"auto-policies\":_vm.policyDetails.UnderlyingAutoPolicies,\"property-policies\":_vm.policyDetails.UnderlyingPropertyPolicies}})],1):_vm._e(),(_vm.policyDetails.PolicyType === 'SM' || _vm.policyDetails.PolicyType === 'CA')?_c('div',[_c('vehicles',{attrs:{\"policyType\":_vm.policyDetails.PolicyType,\"vehicles\":_vm.policyDetails.Vehicles}}),_c('drivers',{attrs:{\"coveredDrivers\":_vm.policyDetails.CoveredDrivers,\"excludedDrivers\":_vm.policyDetails.ExcludedDrivers}})],1):_vm._e()],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.policyDetails.BillingInformation && _vm.policyDetails.BillingInformation !== null && _vm.policyDetails.BillingInformation.length > 0)?_c('div',_vm._l((_vm.policyDetails.BillingInformation),function(billingInfo){return _c('div',{key:billingInfo.BillAccountNumber,staticClass:\"payment-separator\"},[_vm._m(0,true),_c('div',{staticClass:\"text-right text-md-left\"},[_vm._v(_vm._s(_vm.formatMoney(billingInfo.MinimumAmountDue, 2))),_c('br')]),(billingInfo.PastAmountDue && billingInfo.PastAmountDue !== null && billingInfo.PastAmountDue !== ''\n && billingInfo.PastAmountDue !== '0000000000000.00' && billingInfo.PastAmountDue !== '0.00' && billingInfo.PastAmountDue !== '0'\n && billingInfo.PastAmountDue !== billingInfo.MinimumAmountDue)?_c('div',[_vm._m(1,true),_c('div',{staticClass:\"text-right text-md-left\"},[_vm._v(_vm._s(_vm.formatMoney(billingInfo.PastAmountDue, 2))),_c('br')])]):_vm._e(),_vm._m(2,true),_c('div',{staticClass:\"text-right text-md-left\"},[_vm._v(_vm._s(_vm.formatMoney(billingInfo.MaximumAmountDue, 2))),_c('br')]),(!billingInfo.PastAmountDue || billingInfo.PastAmountDue === null || billingInfo.PastAmountDue === ''\n || billingInfo.PastAmountDue === '0000000000000.00' || billingInfo.PastAmountDue === '0.00' || billingInfo.PastAmountDue === '0')?_c('div',[_vm._m(3,true),_c('div',{staticClass:\"text-right text-md-left\"},[_vm._v(_vm._s(_vm.formatDate(billingInfo.CurrentDueDate))),_c('br')])]):_vm._e(),(billingInfo.PastAmountDue && billingInfo.PastAmountDue !== null && billingInfo.PastAmountDue !== ''\n && billingInfo.PastAmountDue !== '0000000000000.00' && billingInfo.PastAmountDue !== '0.00' && billingInfo.PastAmountDue !== '0')?_c('div',[_vm._m(4,true),_c('div',{staticClass:\"text-right text-md-left\"},[_vm._v(_vm._s(_vm.formatDate(billingInfo.CurrentDueDate))),_c('br')])]):_vm._e(),_c('payment-menu',{attrs:{\"showLink\":_vm.policyDetails.PolicyPayableFlag === 'Y' && !_vm.paymentsDisabled,\"accountNumber\":billingInfo.InvoiceCloudAccountNumber,\"policyNumber\":_vm.policyDetails.PolicyNumber,\"policyType\":_vm.policyDetails.PolicyType,\"isGuidewire\":billingInfo.BillingSource === 'Guidewire',\"paymentTracking\":_vm.trackingId}}),(_vm.policyDetails.PolicyPayableFlag === 'Y' && _vm.paymentsDisabled)?_c('span',[_vm._v(\"Online Payments Unavailable\"),_c('br')]):_vm._e()],1)}),0):_c('div',[_vm._m(5),_c('div',{staticClass:\"text-right text-md-left\"},[_vm._v(_vm._s(_vm.formatMoney(_vm.policyDetails.PolicyMinimumAmountDue, 2))),_c('br')]),(!_vm.policyDetails.BillingStatus || (_vm.policyDetails.BillingStatus !== 'BAC-9' && _vm.policyDetails.BillingStatus !== 'BAC-13'))?_c('div',[_vm._m(6),_c('div',{staticClass:\"text-right text-md-left\"},[_vm._v(_vm._s(_vm.formatDate(_vm.policyDetails.PolicyDueDate))),_c('br')])]):_vm._e(),(_vm.policyDetails.BillingStatus === 'BAC-9' || _vm.policyDetails.BillingStatus === 'BAC-13')?_c('div',[_vm._m(7),_c('div',{staticClass:\"text-right text-md-left\"},[_vm._v(_vm._s(_vm.formatDate(_vm.policyDetails.PolicyDueDate))),_c('br')])]):_vm._e(),_vm._m(8),_c('div',{staticClass:\"text-right text-md-left\"},[_vm._v(_vm._s(_vm.formatMoney(_vm.policyDetails.PolicyMaximumAmountDue, 2))),_c('br')]),_c('payment-menu',{attrs:{\"showLink\":_vm.policyDetails.PolicyPayableFlag === 'Y' && !_vm.paymentsDisabled,\"accountNumber\":_vm.policyDetails.MemberNumber,\"policyNumber\":_vm.policyDetails.PolicyNumber,\"policyType\":_vm.policyDetails.PolicyType,\"isGuidewire\":_vm.policyDetails.GuidewireFlag === 'Y',\"paymentTracking\":_vm.trackingId}}),(_vm.policyDetails.PolicyPayableFlag === 'Y' && _vm.paymentsDisabled)?_c('span',[_vm._v(\"Online Payments Unavailable\"),_c('br')]):_vm._e()],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\"Current Balance Due:\"),_c('br')])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-red font-weight-bold\"},[_vm._v(\"Past Due Balance:\"),_c('br')])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\"Remaining Balance Due:\"),_c('br')])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\"Current Due Date:\"),_c('br')])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-red font-weight-bold\"},[_vm._v(\"Past Due Date:\"),_c('br')])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\"Current Balance Due:\"),_c('br')])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\"Current Due Date:\"),_c('br')])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-red font-weight-bold\"},[_vm._v(\"Past Due Date:\"),_c('br')])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\"Remaining Balance Due:\"),_c('br')])\n}]\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <div v-if=\"policyDetails.BillingInformation && policyDetails.BillingInformation !== null && policyDetails.BillingInformation.length > 0\">\r\n <div v-for=\"billingInfo in policyDetails.BillingInformation\"\r\n v-bind:key=\"billingInfo.BillAccountNumber\"\r\n class=\"payment-separator\">\r\n <div class=\"font-weight-bold\">Current Balance Due:<br /></div>\r\n <div class=\"text-right text-md-left\">{{formatMoney(billingInfo.MinimumAmountDue, 2)}}<br /></div>\r\n <div v-if=\"billingInfo.PastAmountDue && billingInfo.PastAmountDue !== null && billingInfo.PastAmountDue !== ''\r\n && billingInfo.PastAmountDue !== '0000000000000.00' && billingInfo.PastAmountDue !== '0.00' && billingInfo.PastAmountDue !== '0'\r\n && billingInfo.PastAmountDue !== billingInfo.MinimumAmountDue\">\r\n <div class=\"text-red font-weight-bold\">Past Due Balance:<br /></div>\r\n <div class=\"text-right text-md-left\">{{formatMoney(billingInfo.PastAmountDue, 2)}}<br /></div>\r\n </div>\r\n <div class=\"font-weight-bold\">Remaining Balance Due:<br /></div>\r\n <div class=\"text-right text-md-left\">{{formatMoney(billingInfo.MaximumAmountDue, 2)}}<br /></div>\r\n <div v-if=\"!billingInfo.PastAmountDue || billingInfo.PastAmountDue === null || billingInfo.PastAmountDue === ''\r\n || billingInfo.PastAmountDue === '0000000000000.00' || billingInfo.PastAmountDue === '0.00' || billingInfo.PastAmountDue === '0'\">\r\n <div class=\"font-weight-bold\">Current Due Date:<br /></div>\r\n <div class=\"text-right text-md-left\">{{formatDate(billingInfo.CurrentDueDate)}}<br /></div>\r\n </div>\r\n <div v-if=\"billingInfo.PastAmountDue && billingInfo.PastAmountDue !== null && billingInfo.PastAmountDue !== ''\r\n && billingInfo.PastAmountDue !== '0000000000000.00' && billingInfo.PastAmountDue !== '0.00' && billingInfo.PastAmountDue !== '0'\">\r\n <div class=\"text-red font-weight-bold\">Past Due Date:<br /></div>\r\n <div class=\"text-right text-md-left\">{{formatDate(billingInfo.CurrentDueDate)}}<br /></div>\r\n </div>\r\n <payment-menu :showLink=\"policyDetails.PolicyPayableFlag === 'Y' && !paymentsDisabled\"\r\n :accountNumber=\"billingInfo.InvoiceCloudAccountNumber\"\r\n :policyNumber=\"policyDetails.PolicyNumber\"\r\n :policyType=\"policyDetails.PolicyType\"\r\n :isGuidewire=\"billingInfo.BillingSource === 'Guidewire'\"\r\n :paymentTracking=\"trackingId\"></payment-menu>\r\n <span v-if=\"policyDetails.PolicyPayableFlag === 'Y' && paymentsDisabled\">Online Payments Unavailable<br /></span>\r\n </div>\r\n </div>\r\n <div v-else>\r\n <div class=\"font-weight-bold\">Current Balance Due:<br /></div>\r\n <div class=\"text-right text-md-left\">{{formatMoney(policyDetails.PolicyMinimumAmountDue, 2)}}<br /></div>\r\n <div v-if=\"!policyDetails.BillingStatus || (policyDetails.BillingStatus !== 'BAC-9' && policyDetails.BillingStatus !== 'BAC-13')\">\r\n <div class=\"font-weight-bold\">Current Due Date:<br /></div>\r\n <div class=\"text-right text-md-left\">{{formatDate(policyDetails.PolicyDueDate)}}<br /></div>\r\n </div>\r\n <div v-if=\"policyDetails.BillingStatus === 'BAC-9' || policyDetails.BillingStatus === 'BAC-13'\">\r\n <div class=\"text-red font-weight-bold\">Past Due Date:<br /></div>\r\n <div class=\"text-right text-md-left\">{{formatDate(policyDetails.PolicyDueDate)}}<br /></div>\r\n </div>\r\n <div class=\"font-weight-bold\">Remaining Balance Due:<br /></div>\r\n <div class=\"text-right text-md-left\">{{formatMoney(policyDetails.PolicyMaximumAmountDue, 2)}}<br /></div>\r\n <payment-menu :showLink=\"policyDetails.PolicyPayableFlag === 'Y' && !paymentsDisabled\"\r\n :accountNumber=\"policyDetails.MemberNumber\"\r\n :policyNumber=\"policyDetails.PolicyNumber\"\r\n :policyType=\"policyDetails.PolicyType\"\r\n :isGuidewire=\"policyDetails.GuidewireFlag === 'Y'\"\r\n :paymentTracking=\"trackingId\"></payment-menu>\r\n <span v-if=\"policyDetails.PolicyPayableFlag === 'Y' && paymentsDisabled\">Online Payments Unavailable<br /></span>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import PaymentMenu from '../components/PaymentMenu.vue';\r\n\r\n export default {\r\n name: 'PolicyPaymentList',\r\n props: {\r\n policyDetails: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n components: {\r\n PaymentMenu,\r\n },\r\n data() {\r\n return {\r\n paymentsDisabled: false,\r\n };\r\n },\r\n mounted() {\r\n // Is this a member logged in or an internal user?\r\n if (this.isMemberRole) {\r\n // See if payments are enabled\r\n this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'Payments', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus !== '') {\r\n this.paymentsDisabled = true;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n } else {\r\n this.paymentsDisabled = true;\r\n }\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n div .payment-separator:not(:first-child) {\r\n border-top: solid 1px $tfb-gray;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PolicyPaymentList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PolicyPaymentList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PolicyPaymentList.vue?vue&type=template&id=514a01cb\"\nimport script from \"./PolicyPaymentList.vue?vue&type=script&lang=js\"\nexport * from \"./PolicyPaymentList.vue?vue&type=script&lang=js\"\nimport style0 from \"./PolicyPaymentList.vue?vue&type=style&index=0&id=514a01cb&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.guidewireFlag === 'Y' || _vm.laurusFlag === 'Y' || _vm.policyType === 'AB')?_c('v-expansion-panels',{staticClass:\"tfb-section my-3\",attrs:{\"accordion\":\"\",\"flat\":\"\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"px-0\"},[_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('v-icon',[_vm._v(\"$expand\")])]},proxy:true}],null,false,2072193525)},[_c('h3',{staticClass:\"text-blue font-weight-bold\"},[_vm._v(\"Billing Documents\")])])],1)],1),_c('v-expansion-panel-content',{staticClass:\"background-lightest-gray py-4\"},[_c('v-data-table',{attrs:{\"dense\":\"\",\"headers\":_vm.billingDocumentHeaders,\"items\":_vm.documentList,\"items-per-page\":10,\"loading\":_vm.documentLoading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"no-data\",fn:function(){return [_vm._v(\" No past billing documents currently available \")]},proxy:true},{key:\"item.Date\",fn:function({ item }){return [_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.getBillingDocument(_vm.policyNumber, _vm.policyType, _vm.policySubType,\n item.DocumentId, item.FormDescription)}}},[_vm._v(_vm._s(item.Date))])]}}],null,false,3981267798)})],1)],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <!-- Billing Documents -->\r\n <v-expansion-panels accordion\r\n flat\r\n class=\"tfb-section my-3\"\r\n v-if=\"guidewireFlag === 'Y' || laurusFlag === 'Y' || policyType === 'AB'\">\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"px-0\">\r\n <v-row>\r\n <v-spacer></v-spacer>\r\n <v-col cols=\"12\"\r\n md=\"5\">\r\n <template v-slot:actions>\r\n <v-icon>$expand</v-icon>\r\n </template>\r\n <h3 class=\"text-blue font-weight-bold\">Billing Documents</h3>\r\n </v-col>\r\n </v-row>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"background-lightest-gray py-4\">\r\n <v-data-table dense\r\n :headers=\"billingDocumentHeaders\"\r\n :items=\"documentList\"\r\n :items-per-page=\"10\"\r\n :loading=\"documentLoading\"\r\n loading-text=\"Loading... Please wait\">\r\n <template v-slot:no-data>\r\n No past billing documents currently available\r\n </template>\r\n <template v-slot:item.Date=\"{ item }\">\r\n <a href=\"\"\r\n v-on:click.prevent=\"getBillingDocument(policyNumber, policyType, policySubType,\r\n item.DocumentId, item.FormDescription)\">{{item.Date}}</a>\r\n </template>\r\n </v-data-table>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n </v-expansion-panels>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'BillingDocumentList',\r\n props: {\r\n policyNumber: {\r\n type: String,\r\n required: true,\r\n },\r\n policyType: {\r\n type: String,\r\n required: true,\r\n },\r\n policySubType: {\r\n type: String,\r\n required: true,\r\n },\r\n laurusFlag: {\r\n type: String,\r\n required: true,\r\n },\r\n guidewireFlag: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n data() {\r\n return {\r\n documentLoading: true,\r\n documentList: [],\r\n billingDocumentHeaders: [\r\n { text: 'Document Type', align: 'start', value: 'LabelDescription' },\r\n { text: 'Date', value: 'Date' },\r\n ],\r\n };\r\n },\r\n computed: {\r\n memberNumber() {\r\n try {\r\n return this.$store.getters['member/memberNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n },\r\n methods: {\r\n async getBillingDocuments() {\r\n dispatch('documents/getBillingDocumentList', {\r\n sPolicyNumber: this.policyNumber,\r\n sMemberNumber: this.memberNumber,\r\n sPolicyType: this.policyType,\r\n sPolicySubType: this.policySubType,\r\n sLocationType: 'BILLHIST',\r\n sTfbId: this.trackingId,\r\n })\r\n .then((documentResponse) => {\r\n this.documentList = documentResponse;\r\n this.documentLoading = false;\r\n })\r\n .catch(() => {\r\n this.documentLoading = false;\r\n });\r\n },\r\n getBillingDocument(policyNumber, policyType, policySubType, documentId, formDescription) {\r\n this.$store.dispatch('app/setIsLoading', true);\r\n dispatch('documents/getSpecificIdBillingDocument', {\r\n sPolicyNumber: policyNumber, sPolicyType: policyType, sPolicySubType: policySubType, sDocumentId: documentId, sFormDescription: formDescription, sTfbId: this.trackingId,\r\n })\r\n .then((documentPages) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n if (documentPages && documentPages !== null) {\r\n this.$store.dispatch('app/setIsDocumentLoading', true);\r\n dispatch('documents/showPDF', {\r\n inputPDFArray: documentPages, fileName: `${policyNumber}-${formDescription}.pdf`, tfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n // Do nothing\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setIsDocumentLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('app/setIsLoading', true);\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n } else if (error.toString().indexOf('status code 404') >= 0) {\r\n // Document was not found\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', 'Unable to load document. Please try again.');\r\n } else {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n }\r\n });\r\n },\r\n },\r\n mounted() {\r\n if (this.guidewireFlag === 'Y' || this.laurusFlag === 'Y' || this.policyType === 'AB') {\r\n this.getBillingDocuments();\r\n }\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BillingDocumentList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BillingDocumentList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BillingDocumentList.vue?vue&type=template&id=51f9009c\"\nimport script from \"./BillingDocumentList.vue?vue&type=script&lang=js\"\nexport * from \"./BillingDocumentList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"py-0\",attrs:{\"fluid\":\"\"}},_vm._l((_vm.policyDetails.Sections),function(section){return _c('div',{key:section.id},[(section.Name !== 'Mortgagees' && section.Name !== 'Mortgagees/Loss Payees')?_c('div',{staticClass:\"py-2\"},[_c('v-row',[_c('v-col',{staticClass:\"pb-1\",attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(section.Name))])])],1),(section.Coverages && section.Coverages.length > 0)?_c('v-container',{staticClass:\"py-0\",attrs:{\"fluid\":\"\"}},_vm._l((section.Coverages),function(coverage){return _c('div',{key:coverage.id},[(!coverage.CoverageDetail || coverage.CoverageDetail.length <= 0)?_c('v-row',{staticClass:\"mt-3\"},[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"9\"}},[(coverage.Group != '')?_c('span',[_vm._v(_vm._s(coverage.Group)+\". \")]):_vm._e(),_vm._v(_vm._s(coverage.Name)+\" \")]),_c('v-col',{staticClass:\"text-right text-md-left py-0\",attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_vm._v(_vm._s(coverage.Limit))]),_c('v-col',{staticClass:\"d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1):_vm._e(),(coverage.CoverageDetail && coverage.CoverageDetail.length > 0)?_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{staticClass:\"mt-1 pb-1\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(coverage.Name)+\" \")])],1),_vm._l((coverage.CoverageDetail),function(subCoverage){return _c('v-row',{key:subCoverage.id,staticClass:\"px-3\"},[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"9\"}},[_vm._v(_vm._s(subCoverage.Name))]),_c('v-col',{staticClass:\"text-right text-md-left py-0\",attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_vm._v(_vm._s(subCoverage.Limit))]),_c('v-col',{staticClass:\"d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1)})],2):_vm._e()],1)}),0):_c('v-row',[_c('v-col',{staticClass:\"py-0 px-6\",attrs:{\"cols\":\"12\"}},[_vm._v(\"None\")])],1)],1):_vm._e()])}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"py-0\">\r\n <!-- Loop through sections -->\r\n <div v-for=\"section in policyDetails.Sections\"\r\n v-bind:key=\"section.id\">\r\n <!-- Is this a non-mortgagee section? -->\r\n <div v-if=\"section.Name !== 'Mortgagees' && section.Name !== 'Mortgagees/Loss Payees'\"\r\n class=\"py-2\">\r\n <!-- Output the section name -->\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"pb-1\">\r\n <h4 class=\"font-weight-bold\">{{section.Name}}</h4>\r\n </v-col>\r\n </v-row>\r\n <!-- Does this section have coverages? -->\r\n <v-container fluid\r\n class=\"py-0\"\r\n v-if=\"section.Coverages && section.Coverages.length > 0\">\r\n <!-- Loop through the section coverages -->\r\n <div v-for=\"coverage in section.Coverages\"\r\n v-bind:key=\"coverage.id\">\r\n <!-- Does this section coverage not have a detail section? -->\r\n <v-row v-if=\"!coverage.CoverageDetail || coverage.CoverageDetail.length <= 0\"\r\n class=\"mt-3\">\r\n <v-col cols=\"12\"\r\n md=\"9\"\r\n class=\"py-0\">\r\n <span v-if=\"coverage.Group != ''\">{{coverage.Group}}. </span>{{coverage.Name}}\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"3\"\r\n class=\"text-right text-md-left py-0\">{{coverage.Limit}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n <!-- Does this section coverage have a detail section? -->\r\n <v-container fluid\r\n class=\"pa-0\"\r\n v-if=\"coverage.CoverageDetail && coverage.CoverageDetail.length > 0\">\r\n <!-- Output the detail section name -->\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"mt-1 pb-1\">\r\n {{coverage.Name}}\r\n </v-col>\r\n </v-row>\r\n <!-- Loop through the detail section subcoverages -->\r\n <v-row v-for=\"subCoverage in coverage.CoverageDetail\"\r\n v-bind:key=\"subCoverage.id\"\r\n class=\"px-3\">\r\n <v-col cols=\"12\"\r\n md=\"9\"\r\n class=\"py-0\">{{subCoverage.Name}}</v-col>\r\n <v-col cols=\"12\"\r\n md=\"3\"\r\n class=\"text-right text-md-left py-0\">{{subCoverage.Limit}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n </v-container>\r\n <v-row v-else>\r\n <v-col cols=\"12\"\r\n class=\"py-0 px-6\">None</v-col>\r\n </v-row>\r\n </div>\r\n </div>\r\n </v-container>\r\n</template>\r\n<script>\r\n export default {\r\n name: 'GuidewirePolicyCoverages',\r\n props: {\r\n policyDetails: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GuidewirePolicyCoverages.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GuidewirePolicyCoverages.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./GuidewirePolicyCoverages.vue?vue&type=template&id=0b433031\"\nimport script from \"./GuidewirePolicyCoverages.vue?vue&type=script&lang=js\"\nexport * from \"./GuidewirePolicyCoverages.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"py-0\",attrs:{\"fluid\":\"\"}},[(_vm.policyDetails.Endorsements && _vm.policyDetails.Endorsements.length > 0)?_c('div',_vm._l((_vm.policyDetails.Endorsements),function(endorsement){return _c('v-row',{key:endorsement.Id},[_c('v-col',{staticClass:\"py-0 d-none d-sm-block\",attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(endorsement.Number))]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"9\"}},[_vm._v(_vm._s(endorsement.Name))]),_c('v-col',{staticClass:\"d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1)}),1):_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\"None\")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"py-0\">\r\n <div v-if=\"policyDetails.Endorsements && policyDetails.Endorsements.length > 0\">\r\n <v-row v-for=\"endorsement in policyDetails.Endorsements\"\r\n v-bind:key=\"endorsement.Id\">\r\n <v-col cols=\"3\"\r\n class=\"py-0 d-none d-sm-block\">{{endorsement.Number}}</v-col>\r\n <v-col cols=\"9\"\r\n class=\"py-0\">{{endorsement.Name}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n </div>\r\n <v-row v-else>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">None</v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n export default {\r\n name: 'GuidewireEndorsements',\r\n props: {\r\n policyDetails: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GuidewireEndorsements.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GuidewireEndorsements.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./GuidewireEndorsements.vue?vue&type=template&id=91e6beda\"\nimport script from \"./GuidewireEndorsements.vue?vue&type=script&lang=js\"\nexport * from \"./GuidewireEndorsements.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"py-0\",attrs:{\"fluid\":\"\"}},[(_vm.policyDetails.Mortgagees && _vm.policyDetails.Mortgagees.length > 0)?_c('div',_vm._l((_vm.policyDetails.Mortgagees),function(mortgagee){return _c('v-row',{key:mortgagee.id},[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(mortgagee.Name))]),_c('br'),(mortgagee.AdditionalName && mortgagee.AdditionalName.length > 0)?_c('span',[_c('em',[_vm._v(_vm._s(mortgagee.AdditionalName))]),_c('br')]):_vm._e(),(mortgagee.LoanNumber && mortgagee.LoanNumber.length > 0)?_c('span',[_vm._v(\" Loan Number: \"+_vm._s(mortgagee.LoanNumber)),_c('br')]):_vm._e(),(mortgagee.Loan && mortgagee.Loan.length > 0)?_c('span',[_vm._v(\" Loan Number: \"+_vm._s(mortgagee.Loan)),_c('br')]):_vm._e(),(mortgagee.RelatedItemNumber && mortgagee.RelatedItemNumber.length > 0)?_c('span',[_vm._v(\" Related Item Number: \"+_vm._s(mortgagee.RelatedItemNumber)),_c('br')]):_vm._e(),(mortgagee.Address)?_c('address',[_vm._v(\" \"+_vm._s(mortgagee.Address)+\" \")]):_vm._e(),_c('div',{staticClass:\"d-block d-lg-none\"},[_c('hr')])])],1)}),1):_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\"None\")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"py-0\">\r\n <div v-if=\"policyDetails.Mortgagees && policyDetails.Mortgagees.length > 0\">\r\n <v-row v-for=\"mortgagee in policyDetails.Mortgagees\"\r\n v-bind:key=\"mortgagee.id\">\r\n <v-col cols=\"12\"\r\n class=\"py-1\">\r\n <span class=\"font-weight-bold\">{{mortgagee.Name}}</span><br />\r\n <span v-if=\"mortgagee.AdditionalName && mortgagee.AdditionalName.length > 0\">\r\n <em>{{mortgagee.AdditionalName}}</em><br />\r\n </span>\r\n <span v-if=\"mortgagee.LoanNumber && mortgagee.LoanNumber.length > 0\">\r\n Loan Number: {{mortgagee.LoanNumber}}<br />\r\n </span>\r\n <span v-if=\"mortgagee.Loan && mortgagee.Loan.length > 0\">\r\n Loan Number: {{mortgagee.Loan}}<br />\r\n </span>\r\n <span v-if=\"mortgagee.RelatedItemNumber && mortgagee.RelatedItemNumber.length > 0\">\r\n Related Item Number: {{mortgagee.RelatedItemNumber}}<br />\r\n </span>\r\n <address v-if=\"mortgagee.Address\">\r\n {{mortgagee.Address}}\r\n </address>\r\n <div class=\"d-block d-lg-none\"><hr /></div>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <v-row v-else>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">None</v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n export default {\r\n name: 'GuidewireMortgageesLossPayees',\r\n props: {\r\n policyDetails: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GuidewireMortgageesLossPayees.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GuidewireMortgageesLossPayees.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./GuidewireMortgageesLossPayees.vue?vue&type=template&id=0c03dd92\"\nimport script from \"./GuidewireMortgageesLossPayees.vue?vue&type=script&lang=js\"\nexport * from \"./GuidewireMortgageesLossPayees.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"py-1\"},[_c('h3',{staticClass:\"tfb-title-text-small text-blue text-uppercase\"},[_vm._v(\" Vehicles \")])])],1),(_vm.vehicles)?_c('div',{staticClass:\"py-0 px-2\"},_vm._l((_vm.vehicles),function(vehicle){return _c('div',{key:vehicle.VIN},[_c('v-row',[_c('v-col',[_c('h4',{staticClass:\"tfb-title-text-smaller font-weight-bold text-uppercase\"},[_vm._v(_vm._s(vehicle.Description))]),_c('span',{staticClass:\"font-italic\"},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"VIN:\")]),_vm._v(\" \"+_vm._s(vehicle.VIN))])])],1),_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"5\",\"sm\":\"7\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Class Code:\")])]),_c('v-col',{staticClass:\"py-1 text-right text-sm-left\",attrs:{\"cols\":\"7\",\"sm\":\"5\"}},[(vehicle.ExtendedClassCode)?_c('span',[_vm._v(\" \"+_vm._s(vehicle.ExtendedClassCode)+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(vehicle.ClassCode)+\" \")])])],1),_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"9\",\"sm\":\"7\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Current Vehicle Premium:\")])]),_c('v-col',{staticClass:\"py-1 text-right text-sm-left\",attrs:{\"cols\":\"3\",\"sm\":\"5\"}},[(_vm.policyType === 'SM')?_c('span',[_vm._v(_vm._s(_vm.formatMoney(vehicle.TotalVehiclePremium, 0)))]):_vm._e(),(_vm.policyType === 'CA')?_c('span',[_vm._v(_vm._s(_vm.formatMoney(vehicle.TotalCoveragePremium, 0)))]):_vm._e()])],1),_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"7\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Garaging County:\")])]),_c('v-col',{staticClass:\"py-1 text-right text-sm-left\",attrs:{\"cols\":\"5\"}},[_vm._v(\" \"+_vm._s(vehicle.GaragingCounty)+\" \")])],1),_c('v-expansion-panels',{staticClass:\"my-3\",attrs:{\"accordion\":\"\",\"flat\":\"\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"px-0\"},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('v-icon',[_vm._v(\"$expand\")])]},proxy:true}],null,true)},[_c('h3',{staticClass:\"text-blue font-weight-bold\"},[_vm._v(\"Coverage Information\")])])],1)],1),_c('v-expansion-panel-content',{staticClass:\"pa-0 background-lightest-gray\"},[_c('v-row',[_c('v-col',[_c('h3',{staticClass:\"pt-5 tfb-title-text-smaller text-blue font-weight-bold\"},[_vm._v(\" Liability \")])])],1),_c('v-row',[(vehicle.Coverages && vehicle.Coverages.length > 0)?_c('v-col',{staticClass:\"py-0\"},_vm._l((vehicle.Coverages),function(coverage){return _c('v-row',{key:coverage.id},[(coverage.Limit !== '0')?_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[(_vm.policyType === 'SM')?_c('span',[_vm._v(_vm._s(coverage.CoverageTypeDescription))]):_vm._e(),(_vm.policyType === 'CA')?_c('span',[_vm._v(_vm._s(coverage.Description))]):_vm._e()]):_vm._e(),(_vm.policyType === 'SM' && coverage.Limit !== '0')?_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},_vm._l((coverage.LimitDescription),function(Description){return _c('span',{key:Description.id},[_vm._v(\" \"+_vm._s(Description)),_c('br')])}),0):_vm._e(),(_vm.policyType === 'CA' && coverage.Limit !== '0')?_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_vm._v(\" \"+_vm._s(coverage.Limit)+\" \")]):_vm._e(),_c('v-col',{staticClass:\"d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1)}),1):_c('v-col',{staticClass:\"py-0\"},[_vm._v(\"None\")])],1),_c('v-row',[_c('v-col',[_c('h6',{staticClass:\"pt-5 tfb-title-text-smaller text-blue font-weight-bold\"},[_vm._v(\"Endorsements\")])])],1),_c('v-row',[(vehicle.Endorsements && vehicle.Endorsements.length > 0)?_c('v-col',{staticClass:\"py-0\"},_vm._l((vehicle.Endorsements),function(endorsement){return _c('v-row',{key:endorsement.Number},[_c('v-col',{staticClass:\"py-0 d-none d-sm-block\",attrs:{\"cols\":\"12\",\"sm\":\"2\"}},[_vm._v(\" \"+_vm._s(endorsement.Number)+\" \")]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"sm\":\"10\"}},[_vm._v(\" \"+_vm._s(endorsement.Description)+\" \")]),_c('v-col',{staticClass:\"d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1)}),1):_c('v-col',{staticClass:\"py-0\"},[_vm._v(\"None\")])],1),_c('v-row',[_c('v-col',[_c('h6',{staticClass:\"pt-5 tfb-title-text-smaller text-blue font-weight-bold\"},[_vm._v(\"Discounts\")])])],1),_c('v-row',[(vehicle.Discounts && vehicle.Discounts.length > 0)?_c('v-col',{staticClass:\"py-0\"},_vm._l((vehicle.Discounts),function(discount){return _c('v-row',{key:discount.DiscountType},[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(discount.DiscountType)+\" \")]),_c('v-col',{staticClass:\"d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1)}),1):_c('v-col',{staticClass:\"py-0\"},[_vm._v(\"None\")])],1),_c('v-row',[_c('v-col',[_c('h6',{staticClass:\"pt-5 tfb-title-text-smaller text-blue font-weight-bold\"},[_vm._v(\"Lien Holders\")])])],1),_c('v-row',[(vehicle.HasLossPayee !== 'NO' || (vehicle.LienHolders && vehicle.LienHolders.length !== 0))?_c('v-col',{staticClass:\"py-0\"},_vm._l((vehicle.LienHolders),function(mortgagee){return _c('v-row',{key:mortgagee.ObjectSequenceNumber},[_c('v-col',{staticClass:\"pt-0\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(mortgagee.Name))]),_c('br'),(mortgagee.AdditionalName && mortgagee.AdditionalName.length > 0)?_c('span',[_c('em',[_vm._v(_vm._s(mortgagee.AdditionalName))]),_c('br')]):_vm._e(),(mortgagee.LoanNumber && mortgagee.LoanNumber.length > 0)?_c('span',[_vm._v(\" Loan Number: \"+_vm._s(mortgagee.LoanNumber)),_c('br')]):_vm._e(),(mortgagee.Loan && mortgagee.Loan.length > 0)?_c('span',[_vm._v(\" Loan Number: \"+_vm._s(mortgagee.Loan)),_c('br')]):_vm._e(),_c('address',[_vm._v(\" \"+_vm._s(mortgagee.LienHolderAddress)+\" \")])]),_c('v-col',{staticClass:\"d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1)}),1):_c('v-col',{staticClass:\"py-0\"},[_vm._v(\"None\")])],1)],1)],1)],1)],1)}),0):_c('div',{staticClass:\"py-0 px-2\"},[_vm._v(\" No Vehicles Found \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <!-- Vehicle Information -->\r\n <v-row no-gutters>\r\n <v-col class=\"py-1\">\r\n <h3 class=\"tfb-title-text-small text-blue text-uppercase\">\r\n Vehicles\r\n </h3>\r\n </v-col>\r\n </v-row>\r\n <div v-if=\"vehicles\"\r\n class=\"py-0 px-2\">\r\n <div v-for=\"vehicle in vehicles\"\r\n v-bind:key=\"vehicle.VIN\">\r\n <v-row>\r\n <v-col>\r\n <h4 class=\"tfb-title-text-smaller font-weight-bold text-uppercase\">{{vehicle.Description}}</h4>\r\n <span class=\"font-italic\"><label class=\"font-weight-bold\">VIN:</label> {{vehicle.VIN}}</span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"5\"\r\n sm=\"7\"\r\n class=\"py-1\">\r\n <label class=\"font-weight-bold\">Class Code:</label>\r\n </v-col>\r\n <v-col cols=\"7\"\r\n sm=\"5\"\r\n class=\"py-1 text-right text-sm-left\">\r\n <span v-if=\"vehicle.ExtendedClassCode\">\r\n {{vehicle.ExtendedClassCode}}\r\n </span>\r\n <span v-else>\r\n {{vehicle.ClassCode}}\r\n </span>\r\n <!--<v-icon small\r\n @click=\"showPolicyDefinition('cc',vehicle.ClassCode,vehicle.ClassCode)\">mdi-help</v-icon>-->\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"9\"\r\n sm=\"7\"\r\n class=\"py-1\">\r\n <label class=\"font-weight-bold\">Current Vehicle Premium:</label>\r\n </v-col>\r\n <v-col cols=\"3\"\r\n sm=\"5\"\r\n class=\"py-1 text-right text-sm-left\">\r\n <span v-if=\"policyType === 'SM'\">{{formatMoney(vehicle.TotalVehiclePremium, 0)}}</span>\r\n <span v-if=\"policyType === 'CA'\">{{formatMoney(vehicle.TotalCoveragePremium, 0)}}</span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"7\"\r\n class=\"py-1\">\r\n <label class=\"font-weight-bold\">Garaging County:</label>\r\n </v-col>\r\n <v-col cols=\"5\"\r\n class=\"py-1 text-right text-sm-left\">\r\n {{vehicle.GaragingCounty}}\r\n </v-col>\r\n </v-row>\r\n <v-expansion-panels accordion\r\n flat\r\n class=\"my-3\">\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"px-0\">\r\n <v-row no-gutters>\r\n <v-spacer></v-spacer>\r\n <v-col cols=\"12\"\r\n md=\"5\">\r\n <template v-slot:actions>\r\n <v-icon>$expand</v-icon>\r\n </template>\r\n <h3 class=\"text-blue font-weight-bold\">Coverage Information</h3>\r\n </v-col>\r\n </v-row>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"pa-0 background-lightest-gray\">\r\n <v-row>\r\n <v-col>\r\n <h3 class=\"pt-5 tfb-title-text-smaller text-blue font-weight-bold\">\r\n Liability\r\n <!--<v-icon small\r\n @click=\"showPolicyDefinition(policyType, 'Liability','')\">mdi-help</v-icon>-->\r\n </h3>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col v-if=\"vehicle.Coverages && vehicle.Coverages.length > 0\"\r\n class=\"py-0\">\r\n <v-row v-for=\"coverage in vehicle.Coverages\"\r\n v-bind:key=\"coverage.id\">\r\n <v-col cols=\"12\"\r\n md=\"8\"\r\n class=\"py-0\"\r\n v-if=\"coverage.Limit !== '0'\">\r\n <span v-if=\"policyType === 'SM'\">{{coverage.CoverageTypeDescription}}</span>\r\n <span v-if=\"policyType === 'CA'\">{{coverage.Description}}</span>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n class=\"py-0 text-right text-md-left\"\r\n v-if=\"policyType === 'SM' && coverage.Limit !== '0'\">\r\n <span v-for=\"Description in coverage.LimitDescription\"\r\n v-bind:key=\"Description.id\">\r\n {{Description}}<br />\r\n </span>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n class=\"py-0 text-right text-md-left\"\r\n v-if=\"policyType === 'CA' && coverage.Limit !== '0'\">\r\n {{coverage.Limit}}\r\n </v-col>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n </v-col>\r\n <v-col v-else\r\n class=\"py-0\">None</v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col>\r\n <h6 class=\"pt-5 tfb-title-text-smaller text-blue font-weight-bold\">Endorsements</h6>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col v-if=\"vehicle.Endorsements && vehicle.Endorsements.length > 0\"\r\n class=\"py-0\">\r\n <v-row v-for=\"endorsement in vehicle.Endorsements\"\r\n v-bind:key=\"endorsement.Number\">\r\n <v-col cols=\"12\"\r\n sm=\"2\"\r\n class=\"py-0 d-none d-sm-block\">\r\n {{endorsement.Number}}\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"10\"\r\n class=\"py-0\">\r\n {{endorsement.Description}}\r\n </v-col>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n </v-col>\r\n <v-col v-else\r\n class=\"py-0\">None</v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col>\r\n <h6 class=\"pt-5 tfb-title-text-smaller text-blue font-weight-bold\">Discounts</h6>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col v-if=\"vehicle.Discounts && vehicle.Discounts.length > 0\"\r\n class=\"py-0\">\r\n <v-row v-for=\"discount in vehicle.Discounts\"\r\n v-bind:key=\"discount.DiscountType\">\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n {{discount.DiscountType}}\r\n </v-col>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n </v-col>\r\n <v-col v-else\r\n class=\"py-0\">None</v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col>\r\n <h6 class=\"pt-5 tfb-title-text-smaller text-blue font-weight-bold\">Lien Holders</h6>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col v-if=\"vehicle.HasLossPayee !== 'NO' || (vehicle.LienHolders && vehicle.LienHolders.length !== 0)\"\r\n class=\"py-0\">\r\n <v-row v-for=\"mortgagee in vehicle.LienHolders\"\r\n v-bind:key=\"mortgagee.ObjectSequenceNumber\">\r\n <v-col cols=\"12\"\r\n class=\"pt-0\">\r\n <span class=\"font-weight-bold\">{{mortgagee.Name}}</span><br />\r\n <span v-if=\"mortgagee.AdditionalName && mortgagee.AdditionalName.length > 0\">\r\n <em>{{mortgagee.AdditionalName}}</em><br />\r\n </span>\r\n <span v-if=\"mortgagee.LoanNumber && mortgagee.LoanNumber.length > 0\">\r\n Loan Number: {{mortgagee.LoanNumber}}<br />\r\n </span>\r\n <span v-if=\"mortgagee.Loan && mortgagee.Loan.length > 0\">\r\n Loan Number: {{mortgagee.Loan}}<br />\r\n </span>\r\n <address>\r\n {{mortgagee.LienHolderAddress}}\r\n </address>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n </v-col>\r\n <v-col v-else\r\n class=\"py-0\">None</v-col>\r\n </v-row>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n </v-expansion-panels>\r\n </div>\r\n </div>\r\n <div v-else\r\n class=\"py-0 px-2\">\r\n No Vehicles Found\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\n /* eslint no-unused-vars: 0 */\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'PolicyDetailVehicles',\r\n props: {\r\n policyType: {\r\n type: String,\r\n required: true,\r\n },\r\n vehicles: {\r\n type: Array,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n methods: {\r\n showPolicyDefinition(policyType, anchorText, newClassCode) {\r\n // console.log(`TODO: Fetching definition for ${policyType}-${anchorText}-${newClassCode}!`);\r\n // var definition = { \"define\": policyType + anchorText, \"hasNewClass\": ((newClassCode) ? (newClassCode !== '' ? true : false) : false) };\r\n // localStorageService.set('txfbDefine', definition);\r\n // $('#phPolicyDefinitions').modal();\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vehicles.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vehicles.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Vehicles.vue?vue&type=template&id=392cfb94\"\nimport script from \"./Vehicles.vue?vue&type=script&lang=js\"\nexport * from \"./Vehicles.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"tfb-title-text-small text-blue text-uppercase\"},[_vm._v(\" Drivers \")])])],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"tfb-title-text-smaller font-weight-bold text-uppercase\"},[_vm._v(\" Active Drivers \")])])],1),(_vm.coveredDrivers && _vm.coveredDrivers.length > 0)?_c('div',{staticClass:\"pt-3 pb-5 px-1\"},_vm._l((_vm.coveredDrivers),function(driver){return _c('v-row',{key:driver.DriversLicenseNumber},[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(driver.FullName))])]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Year of Birth:\")]),_vm._v(\" \"+_vm._s(driver.YearOfBirth)+\" \")]),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Drivers License:\")]),_vm._v(\" \"+_vm._s(driver.MaskedDriversLicenseNumber)+\" \")]),_c('v-col',{staticClass:\"d-block d-md-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1)}),1):_c('div',{staticClass:\"pt-3 pb-5 px-1\"},[_c('v-row',[_c('v-col',{staticClass:\"py-0\"},[_vm._v(\" No Active Drivers Found \")])],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"tfb-title-text-smaller font-weight-bold text-uppercase\"},[_vm._v(\" Excluded Drivers \")])])],1),(_vm.excludedDrivers && _vm.excludedDrivers.length > 0)?_c('div',{staticClass:\"pt-3 pb-5 px-1\"},_vm._l((_vm.excludedDrivers),function(driver){return _c('v-row',{key:driver.id},[_c('v-col',{staticClass:\"py-0\"},[_vm._v(\" \"+_vm._s(driver.FullName)+\" \")])],1)}),1):_c('div',{staticClass:\"pt-3 pb-5 px-1\"},[_c('v-row',[_c('v-col',{staticClass:\"py-0\"},[_vm._v(\" No Excluded Drivers Found \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <!-- Driver Information -->\r\n <v-row no-gutters>\r\n <v-col cols=\"12\"\r\n class=\"py-1\">\r\n <h3 class=\"tfb-title-text-small text-blue text-uppercase\">\r\n Drivers\r\n </h3>\r\n </v-col>\r\n </v-row>\r\n <v-row no-gutters>\r\n <v-col cols=\"12\"\r\n class=\"py-1\">\r\n <h4 class=\"tfb-title-text-smaller font-weight-bold text-uppercase\">\r\n Active Drivers\r\n </h4>\r\n </v-col>\r\n </v-row>\r\n <div v-if=\"coveredDrivers && coveredDrivers.length > 0\"\r\n class=\"pt-3 pb-5 px-1\">\r\n <v-row v-for=\"driver in coveredDrivers\"\r\n v-bind:key=\"driver.DriversLicenseNumber\">\r\n <v-col cols=\"12\"\r\n sm=\"4\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">{{driver.FullName}}</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"4\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Year of Birth:</label> {{ driver.YearOfBirth }}\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"4\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Drivers License:</label> {{driver.MaskedDriversLicenseNumber}}\r\n </v-col>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-md-none\"><hr /></v-col>\r\n </v-row>\r\n </div>\r\n <div v-else\r\n class=\"pt-3 pb-5 px-1\">\r\n <v-row>\r\n <v-col class=\"py-0\">\r\n No Active Drivers Found\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <v-row no-gutters>\r\n <v-col cols=\"12\"\r\n class=\"py-1\">\r\n <h4 class=\"tfb-title-text-smaller font-weight-bold text-uppercase\">\r\n Excluded Drivers\r\n </h4>\r\n </v-col>\r\n </v-row>\r\n <div v-if=\"excludedDrivers && excludedDrivers.length > 0\"\r\n class=\"pt-3 pb-5 px-1\">\r\n <v-row v-for=\"driver in excludedDrivers\"\r\n v-bind:key=\"driver.id\">\r\n <v-col class=\"py-0\">\r\n {{driver.FullName}}\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <div v-else\r\n class=\"pt-3 pb-5 px-1\">\r\n <v-row>\r\n <v-col class=\"py-0\">\r\n No Excluded Drivers Found\r\n </v-col>\r\n </v-row>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\n export default {\r\n name: 'PolicyDetailsDrivers',\r\n props: {\r\n coveredDrivers: {\r\n type: Array,\r\n required: true,\r\n },\r\n excludedDrivers: {\r\n type: Array,\r\n required: true,\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Drivers.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Drivers.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Drivers.vue?vue&type=template&id=5128ad1d\"\nimport script from \"./Drivers.vue?vue&type=script&lang=js\"\nexport * from \"./Drivers.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"mt-2 pb-4\"},[_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"tfb-title-text-small text-blue text-uppercase\"},[_vm._v(\"Underlying Location Counties\")])])],1),(_vm.locations && _vm.locations.length > 0)?_c('v-container',{attrs:{\"fluid\":\"\"}},_vm._l((_vm.locations),function(location){return _c('v-row',{key:location.CountyCode},[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(location.CountyCode)+\" - \"+_vm._s(location.CountyName)+\" \")])],1)}),1):_c('v-row',[_c('v-col',{staticClass:\"py-0 px-6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" None \")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"mt-2 pb-4\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-1\">\r\n <h3 class=\"tfb-title-text-small text-blue text-uppercase\">Underlying Location Counties</h3>\r\n </v-col>\r\n </v-row>\r\n <v-container fluid\r\n v-if=\"locations && locations.length > 0\">\r\n <v-row v-for=\"location in locations\"\r\n v-bind:key=\"location.CountyCode\">\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n {{location.CountyCode}} - {{location.CountyName}}\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <v-row v-else>\r\n <v-col cols=\"12\"\r\n class=\"py-0 px-6\">\r\n None\r\n </v-col>\r\n </v-row>\r\n </div>\r\n</template>\r\n<script>\r\n export default {\r\n name: 'PolicyDetailsUnderlyingLocations',\r\n props: {\r\n locations: {\r\n type: Array,\r\n required: true,\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnderlyingLocations.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnderlyingLocations.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UnderlyingLocations.vue?vue&type=template&id=275bb5bb\"\nimport script from \"./UnderlyingLocations.vue?vue&type=script&lang=js\"\nexport * from \"./UnderlyingLocations.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"mt-2 pb-4\"},[_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"tfb-title-text-small text-blue text-uppercase\"},[_vm._v(\"Underlying Liability Policies\")])])],1),_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"tfb-title-text-smaller font-weight-bold\"},[_vm._v(\"Personal / Farm Auto Liability or Commercial Auto Liability\")])])],1),(_vm.autoPolicies && _vm.autoPolicies.length > 0)?_c('v-row',_vm._l((_vm.autoPolicies),function(policy,index){return _c('v-col',{key:policy.IncludedPolicyNumber,staticClass:\"pt-0 pb-2\",attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"tfb-smallest-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Carrier Name:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(policy.CarrierName)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Policy Number:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(policy.IncludedPolicyNumber)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Effective Date:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.formatDate(policy.IncludedPolicyEffectiveDate))+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Expiration Date:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.formatDate(policy.IncludedPolicyExpirationDate))+\" \")])],1),(policy.CombinedSingleLimit && policy.CombinedSingleLimit !== null && policy.CombinedSingleLimit !== '0')?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Combined Single Limit:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.formatMoney(policy.CombinedSingleLimit, 0))+\" \")])],1):_vm._e(),(policy.BodilyInjuryPerOccurrence && policy.BodilyInjuryPerOccurrence !== null && policy.BodilyInjuryPerOccurrence !== '0')?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Bodily Injury Per Occurrence Limit:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.formatMoney(policy.BodilyInjuryPerOccurrence, 0))+\" \")])],1):_vm._e(),(policy.BodilyInjuryPerPerson && policy.BodilyInjuryPerPerson !== null && policy.BodilyInjuryPerPerson !== '0')?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Bodily Injury Per Person Limit:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.formatMoney(policy.BodilyInjuryPerPerson, 0))+\" \")])],1):_vm._e(),(policy.PropertyDamagePerOccurrence && policy.PropertyDamagePerOccurrence !== null && policy.PropertyDamagePerOccurrence !== '0')?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Property Damage Limit:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.formatMoney(policy.PropertyDamagePerOccurrence, 0))+\" \")])],1):_vm._e(),_c('v-row',[(index != _vm.autoPolicies.length - 1)?_c('v-col',{staticClass:\"d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')]):_vm._e()],1)],1)],1)}),1):_c('v-row',[_c('v-col',{staticClass:\"py-0 px-6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" None \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"tfb-title-text-smaller font-weight-bold\"},[_vm._v(\"Personal / Farm Liability or Commercial Liability\")])])],1),(_vm.propertyPolicies && _vm.propertyPolicies.length > 0)?_c('v-row',_vm._l((_vm.propertyPolicies),function(policy,index){return _c('v-col',{key:policy.IncludedPolicyNumber,staticClass:\"pt-0 pb-2\",attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"tfb-smallest-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Carrier Name:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(policy.CarrierName)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Policy Number:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(policy.IncludedPolicyNumber)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Effective Date:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.formatDate(policy.IncludedPolicyEffectiveDate))+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Expiration Date:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.formatDate(policy.IncludedPolicyExpirationDate))+\" \")])],1),(policy.OccurrenceLimit && policy.OccurrenceLimit !== null && policy.OccurrenceLimit !== '0')?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Each Occurrence Limit:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.formatMoney(policy.OccurrenceLimit, 0))+\" \")])],1):_vm._e(),(policy.AggregationLimit && policy.AggregationLimit !== null && policy.AggregationLimit !== '0')?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"General Aggregate Limit:\")])]),_c('v-col',{staticClass:\"py-0 text-right text-md-left\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.formatMoney(policy.AggregationLimit, 0))+\" \")])],1):_vm._e(),_c('v-row',[(index != _vm.propertyPolicies.length - 1)?_c('v-col',{staticClass:\"d-block d-lg-none\",attrs:{\"cols\":\"12\"}},[_c('hr')]):_vm._e()],1)],1)],1)}),1):_c('v-row',[_c('v-col',{staticClass:\"py-0 px-6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" None \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"mt-2 pb-4\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-1\">\r\n <h3 class=\"tfb-title-text-small text-blue text-uppercase\">Underlying Liability Policies</h3>\r\n </v-col>\r\n </v-row>\r\n <v-container fluid>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <h4 class=\"tfb-title-text-smaller font-weight-bold\">Personal / Farm Auto Liability or Commercial Auto Liability</h4>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"autoPolicies && autoPolicies.length > 0\">\r\n <v-col cols=\"12\"\r\n v-for=\"(policy, index) in autoPolicies\"\r\n v-bind:key=\"policy.IncludedPolicyNumber\"\r\n class=\"pt-0 pb-2\">\r\n <v-container fluid\r\n class=\"tfb-smallest-container\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Carrier Name:</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0 text-right text-md-left\">\r\n {{policy.CarrierName}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Policy Number:</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0 text-right text-md-left\">\r\n {{policy.IncludedPolicyNumber}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Effective Date:</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0 text-right text-md-left\">\r\n {{formatDate(policy.IncludedPolicyEffectiveDate)}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Expiration Date:</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0 text-right text-md-left\">\r\n {{formatDate(policy.IncludedPolicyExpirationDate)}}\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"policy.CombinedSingleLimit && policy.CombinedSingleLimit !== null && policy.CombinedSingleLimit !== '0'\">\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Combined Single Limit:</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0 text-right text-md-left\">\r\n {{formatMoney(policy.CombinedSingleLimit, 0)}}\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"policy.BodilyInjuryPerOccurrence && policy.BodilyInjuryPerOccurrence !== null && policy.BodilyInjuryPerOccurrence !== '0'\">\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Bodily Injury Per Occurrence Limit:</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0 text-right text-md-left\">\r\n {{formatMoney(policy.BodilyInjuryPerOccurrence, 0)}}\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"policy.BodilyInjuryPerPerson && policy.BodilyInjuryPerPerson !== null && policy.BodilyInjuryPerPerson !== '0'\">\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Bodily Injury Per Person Limit:</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0 text-right text-md-left\">\r\n {{formatMoney(policy.BodilyInjuryPerPerson, 0)}}\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"policy.PropertyDamagePerOccurrence && policy.PropertyDamagePerOccurrence !== null && policy.PropertyDamagePerOccurrence !== '0'\">\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Property Damage Limit:</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0 text-right text-md-left\">\r\n {{formatMoney(policy.PropertyDamagePerOccurrence, 0)}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-lg-none\"\r\n v-if=\"index != autoPolicies.length - 1\"><hr /></v-col>\r\n </v-row>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n <v-row v-else>\r\n <v-col cols=\"12\"\r\n class=\"py-0 px-6\">\r\n None\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <h4 class=\"tfb-title-text-smaller font-weight-bold\">Personal / Farm Liability or Commercial Liability</h4>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"propertyPolicies && propertyPolicies.length > 0\">\r\n <v-col cols=\"12\"\r\n v-for=\"(policy, index) in propertyPolicies\"\r\n v-bind:key=\"policy.IncludedPolicyNumber\"\r\n class=\"pt-0 pb-2\">\r\n <v-container fluid\r\n class=\"tfb-smallest-container\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Carrier Name:</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0 text-right text-md-left\">\r\n {{policy.CarrierName}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Policy Number:</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0 text-right text-md-left\">\r\n {{policy.IncludedPolicyNumber}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Effective Date:</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0 text-right text-md-left\">\r\n {{formatDate(policy.IncludedPolicyEffectiveDate)}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Expiration Date:</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0 text-right text-md-left\">\r\n {{formatDate(policy.IncludedPolicyExpirationDate)}}\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"policy.OccurrenceLimit && policy.OccurrenceLimit !== null && policy.OccurrenceLimit !== '0'\">\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Each Occurrence Limit:</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0 text-right text-md-left\">\r\n {{formatMoney(policy.OccurrenceLimit, 0)}}\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"policy.AggregationLimit && policy.AggregationLimit !== null && policy.AggregationLimit !== '0'\">\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">General Aggregate Limit:</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"6\"\r\n class=\"py-0 text-right text-md-left\">\r\n {{formatMoney(policy.AggregationLimit, 0)}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-lg-none\"\r\n v-if=\"index != propertyPolicies.length - 1\"><hr /></v-col>\r\n </v-row>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n <v-row v-else>\r\n <v-col cols=\"12\"\r\n class=\"py-0 px-6\">\r\n None\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'PolicyDetailsUnderlyingPolicies',\r\n mixins: [tfbHelperMixin],\r\n props: {\r\n autoPolicies: {\r\n type: Array,\r\n required: true,\r\n },\r\n propertyPolicies: {\r\n type: Array,\r\n required: true,\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnderlyingPolicies.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnderlyingPolicies.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UnderlyingPolicies.vue?vue&type=template&id=5762c9f6\"\nimport script from \"./UnderlyingPolicies.vue?vue&type=script&lang=js\"\nexport * from \"./UnderlyingPolicies.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"tfb-title-text-small text-blue text-uppercase\"},[_vm._v(\"Locations\")])])],1),(_vm.locations && _vm.locations.length > 0)?_c('v-container',{staticClass:\"pt-0\",attrs:{\"fluid\":\"\"}},_vm._l((_vm.locations),function(location){return _c('v-row',{key:location.LocationNumber},[_c('v-col',{attrs:{\"cols\":\"12\"}},[(location.LocationBuiltDescription !== null && location.LocationBuiltDescription !== '')?_c('span',[_vm._v(\" \"+_vm._s(location.LocationBuiltDescription)+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(location.CountyName)+\" \")]),_c('v-expansion-panels',{staticClass:\"tfb-section py-0\",attrs:{\"accordion\":\"\",\"flat\":\"\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"pa-0\"},[_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"5\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('v-icon',[_vm._v(\"$expand\")])]},proxy:true}],null,true)},[_c('h3',{staticClass:\"text-blue font-weight-bold\"},[_vm._v(\"Coverage Information\")])])],1)],1),_c('v-expansion-panel-content',{staticClass:\"pa-0 background-lightest-gray\"},[_c('v-container',[(location.OccurrenceLimit && location.OccurrenceLimit !== null && location.OccurrenceLimit !== '')?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"sm\":\"8\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Each Occurrence Limit (CSL):\")])]),_c('v-col',{staticClass:\"py-0 text-right text-sm-left\",attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_vm._v(_vm._s(_vm.formatMoney(location.OccurrenceLimit, 0)))]),_c('v-col',{staticClass:\"py-0 d-block d-sm-none d-md-none d-lg-none d-xl-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1):_vm._e(),(location.AggregateLimit && location.AggregateLimit !== null && location.AggregateLimit !== '')?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"sm\":\"8\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"General Aggregate Limit (CSL):\")])]),_c('v-col',{staticClass:\"py-0 text-right text-sm-left\",attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_vm._v(_vm._s(_vm.formatMoney(location.AggregateLimit, 0)))]),_c('v-col',{staticClass:\"py-0 d-block d-sm-none d-md-none d-lg-none d-xl-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1):_vm._e()],1)],1)],1)],1)],1),_c('v-col',{staticClass:\"d-block d-md-none d-lg-none d-xl-none\",attrs:{\"cols\":\"12\"}},[_c('hr')])],1)}),1):_c('v-row',[_c('v-col',{staticClass:\"py-0 px-6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" None \")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-1\">\r\n <h3 class=\"tfb-title-text-small text-blue text-uppercase\">Locations</h3>\r\n </v-col>\r\n </v-row>\r\n <v-container fluid\r\n class=\"pt-0\"\r\n v-if=\"locations && locations.length > 0\">\r\n <v-row v-for=\"location in locations\"\r\n v-bind:key=\"location.LocationNumber\">\r\n <v-col cols=\"12\">\r\n <span v-if=\"location.LocationBuiltDescription !== null && location.LocationBuiltDescription !== ''\">\r\n {{location.LocationBuiltDescription}}\r\n </span>\r\n <span v-else>\r\n {{location.CountyName}}\r\n </span>\r\n <v-expansion-panels accordion\r\n flat\r\n class=\"tfb-section py-0\">\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"pa-0\">\r\n <v-row>\r\n <v-spacer></v-spacer>\r\n <v-col cols=\"12\"\r\n sm=\"5\">\r\n <template v-slot:actions>\r\n <v-icon>$expand</v-icon>\r\n </template>\r\n <h3 class=\"text-blue font-weight-bold\">Coverage Information</h3>\r\n </v-col>\r\n </v-row>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"pa-0 background-lightest-gray\">\r\n <v-container>\r\n <v-row v-if=\"location.OccurrenceLimit && location.OccurrenceLimit !== null && location.OccurrenceLimit !== ''\">\r\n <v-col cols=\"12\"\r\n sm=\"8\"\r\n class=\"py-0\"><label class=\"font-weight-bold\">Each Occurrence Limit (CSL):</label></v-col>\r\n <v-col cols=\"12\"\r\n sm=\"4\"\r\n class=\"py-0 text-right text-sm-left\">{{formatMoney(location.OccurrenceLimit, 0)}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"py-0 d-block d-sm-none d-md-none d-lg-none d-xl-none\"><hr /></v-col>\r\n </v-row>\r\n <v-row v-if=\"location.AggregateLimit && location.AggregateLimit !== null && location.AggregateLimit !== ''\">\r\n <v-col cols=\"12\"\r\n sm=\"8\"\r\n class=\"py-0\"><label class=\"font-weight-bold\">General Aggregate Limit (CSL):</label></v-col>\r\n <v-col cols=\"12\"\r\n sm=\"4\"\r\n class=\"py-0 text-right text-sm-left\">{{formatMoney(location.AggregateLimit, 0)}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"py-0 d-block d-sm-none d-md-none d-lg-none d-xl-none\"><hr /></v-col>\r\n </v-row>\r\n <!--<v-row v-if=\"location.PersonalAdvertisingInjuryLimit && location.PersonalAdvertisingInjuryLimit !== null && location.PersonalAdvertisingInjuryLimit !== ''\">\r\n <v-col cols=\"12\"\r\n sm=\"8\"\r\n class=\"py-0\"><label class=\"font-weight-bold\">Personal and Advertising Injury Limit:</label></v-col>\r\n <v-col cols=\"12\"\r\n sm=\"4\"\r\n class=\"py-0 text-right text-sm-left\">{{formatMoney(location.PersonalAdvertisingInjuryLimit, 0)}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"py-0 d-block d-sm-none d-md-none d-lg-none d-xl-none\"><hr /></v-col>\r\n </v-row>\r\n <v-row v-if=\"location.MedicalLimit && location.MedicalLimit !== null && location.MedicalLimit !== ''\">\r\n <v-col cols=\"12\"\r\n sm=\"8\"\r\n class=\"py-0\"><label class=\"font-weight-bold\">Medical Payment Limit:</label></v-col>\r\n <v-col cols=\"12\"\r\n sm=\"4\"\r\n class=\"py-0 text-right text-sm-left\">{{formatMoney(location.MedicalLimit, 0)}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"py-0 d-block d-sm-none d-md-none d-lg-none d-xl-none\"><hr /></v-col>\r\n </v-row>-->\r\n </v-container>\r\n <!--<div v-if=\"location.Dwellings && location.Dwellings.length > 0\">\r\n <v-container v-for=\"dwelling in location.Dwellings\"\r\n v-bind:key=\"dwelling.DwellingNumber\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-smallest font-weight-bold\">{{dwelling.DwellingBuiltDescription}}</span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"font-italic\">{{dwelling.DwellingOccupancy}}</span>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>-->\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n </v-expansion-panels>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-md-none d-lg-none d-xl-none\"><hr /></v-col>\r\n </v-row>\r\n </v-container>\r\n <v-row v-else>\r\n <v-col cols=\"12\"\r\n class=\"py-0 px-6\">\r\n None\r\n </v-col>\r\n </v-row>\r\n </div>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'FarmLiabilityLocations',\r\n props: {\r\n locations: {\r\n type: Array,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n };\r\n </script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FarmLiabilityLocations.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FarmLiabilityLocations.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FarmLiabilityLocations.vue?vue&type=template&id=561c15bd\"\nimport script from \"./FarmLiabilityLocations.vue?vue&type=script&lang=js\"\nexport * from \"./FarmLiabilityLocations.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-expansion-panels',{staticClass:\"tfb-section my-3\",attrs:{\"accordion\":\"\",\"flat\":\"\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"px-0\"},[_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('v-icon',[_vm._v(\"$expand\")])]},proxy:true}])},[_c('h3',{staticClass:\"text-blue font-weight-bold\"},[_vm._v(\"Billing and Payment History\")])])],1)],1),_c('v-expansion-panel-content',{staticClass:\"background-lightest-gray\"},[(_vm.policyDetails.PolicyType !== 'PR' && _vm.policyDetails.PolicyType !== 'AB')?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"tfb-title-text-smaller text-blue font-weight-bold\"},[_vm._v(\"Premium For Current Policy\")])])],1),_c('div',{staticClass:\"px-2\"},[(_vm.policyDetails.TermPremiumAmount && _vm.policyDetails.TermPremiumAmount !== '' && _vm.policyDetails.TermPremiumAmount !== '0' && _vm.policyDetails.TermPremiumAmount !== '0.00')?_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Term Premium For Current Policy:\")])]),_c('v-col',{staticClass:\"py-1 text-right\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.policyDetails.TermPremiumAmount, 0))+\" \")])],1):_vm._e(),(_vm.policyDetails.TotalDiscounts && _vm.policyDetails.TotalDiscounts !== '' && _vm.policyDetails.TotalDiscounts !== '0' && _vm.policyDetails.TotalDiscounts !== '0.00')?_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Total Discounts For Current Policy:\")])]),_c('v-col',{staticClass:\"py-1 text-right\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.policyDetails.TotalDiscounts, 0))+\" \")])],1):_vm._e(),(_vm.policyDetails.BilledPremiumAmount && _vm.policyDetails.BilledPremiumAmount !== '' && _vm.policyDetails.BilledPremiumAmount !== '0' && _vm.policyDetails.BilledPremiumAmount !== '0.00')?_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Billed Premium For Current Policy:\")])]),_c('v-col',{staticClass:\"py-1 text-right\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.policyDetails.BilledPremiumAmount, 0))+\" \")])],1):_vm._e(),((_vm.policyDetails.PolicyType === 'SM' || _vm.policyDetails.PolicyType === 'CA')\n && _vm.policyDetails.TheftFee && _vm.policyDetails.TheftFee !== '' && _vm.policyDetails.TheftFee !== '0' && _vm.policyDetails.TheftFee !== '0.00')?_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"10\",\"sm\":\"6\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Motor Vehicle Crime Prevention Authority Fee:\")])]),_c('v-col',{staticClass:\"py-1 text-right\",attrs:{\"cols\":\"2\",\"sm\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.policyDetails.TheftFee, 2))+\" \")])],1):_vm._e(),(_vm.policyDetails.PreviousDebitCredit && _vm.policyDetails.PreviousDebitCredit !== '' && _vm.policyDetails.PreviousDebitCredit !== '0' && _vm.policyDetails.PreviousDebitCredit !== '0.00')?_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"10\",\"sm\":\"6\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Previous Debit/Credit:\")])]),_c('v-col',{staticClass:\"py-1 text-right\",attrs:{\"cols\":\"2\",\"sm\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.policyDetails.PreviousDebitCredit, 2))+\" \")])],1):_vm._e(),(_vm.policyDetails.Adjustments && _vm.policyDetails.Adjustments !== '' && _vm.policyDetails.Adjustments !== '0' && _vm.policyDetails.Adjustments !== '0.00')?_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"10\",\"sm\":\"6\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Adjustments Due To Changes:\")])]),_c('v-col',{staticClass:\"py-1 text-right\",attrs:{\"cols\":\"2\",\"sm\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.formatMoney(_vm.policyDetails.Adjustments, 0))+\" \")])],1):_vm._e()],1)],1):_vm._e(),(_vm.policyDetails.PolicyType === 'AB')?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"tfb-title-text-smaller text-blue font-weight-bold\"},[_vm._v(\"Current Invoice\")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('table',{staticClass:\"table table-responsive table-striped table-condensed account-bill-table\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\"Policy Number\")]),_c('th',[_vm._v(\"Previous Balance\")]),_c('th',[_vm._v(\"Payment Activity\")]),_c('th',[_vm._v(\"Refunds\")]),_c('th',[_vm._v(\"Fees\")]),_c('th',[_vm._v(\"Past Due Amount\")]),_c('th',[_vm._v(\"Current Amount Due\")]),_c('th',[_vm._v(\"Remaining Balance\")])])]),_c('tbody',[(!_vm.policyDetails.CurrentInvoice || _vm.policyDetails.CurrentInvoice.length === 0)?_c('tr',[_c('td',{attrs:{\"colspan\":\"8\"}},[_vm._v(\"Current Invoice Unavailable\")])]):_vm._e(),_vm._l((_vm.policyDetails.CurrentInvoice),function(invoice){return _c('tr',{key:invoice.id},[_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.policyNbr)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.remainingBalanceFromLastStatement)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.paymentActivity)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.refunds)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.fees)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.pastAmountDue)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.currentAmountDue)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.remainingBalance)}})])])})],2),_c('tfoot',[(_vm.policyDetails.CurrentInvoice && _vm.policyDetails.CurrentInvoice.length > 0)?_c('tr',[_c('td',{staticClass:\"font-weight-bold\"},[_vm._v(\"Totals\")]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.currentPreviousBalance)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.currentPaymentActivity)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.currentRefunds)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.currentFees)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.currentPastDue)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.currentCurrentAmount)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.currentRemainingBalance)}})])]):_vm._e()])])])],1),_c('div',{staticClass:\"row detail-row\"},[_c('div',{staticClass:\"col-ss-12\"},[_c('h4',{staticClass:\"tfb-title-text-smaller text-blue font-weight-bold\"},[_vm._v(\"Projected Next Invoice\")])])]),_c('div',{staticClass:\"row policy-detail-row\"},[_c('div',{staticClass:\"col-ss-12\"},[_c('table',{staticClass:\"table table-responsive table-striped table-condensed account-bill-table\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\"Policy Number\")]),_c('th',[_vm._v(\"Previous Balance\")]),_c('th',[_vm._v(\"Payment Activity\")]),_c('th',[_vm._v(\"Refunds\")]),_c('th',[_vm._v(\"Fees\")]),_c('th',[_vm._v(\"Past Due Amount\")]),_c('th',[_vm._v(\"Current Amount Due\")]),_c('th',[_vm._v(\"Remaining Balance\")])])]),_c('tbody',[(!_vm.policyDetails.NextInvoice || _vm.policyDetails.NextInvoice.length === 0)?_c('tr',[_c('td',{attrs:{\"colspan\":\"8\"}},[_vm._v(\"Projected Next Invoice Unavailable\")])]):_vm._e(),_vm._l((_vm.policyDetails.NextInvoice),function(invoice){return _c('tr',{key:invoice.id},[_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.policyNbr)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.remainingBalanceFromLastStatement)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.paymentActivity)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.refunds)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.fees)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.pastAmountDue)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.currentAmountDue)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.remainingBalance)}})])])})],2),_c('tfoot',[(_vm.nextInvoice && _vm.nextInvoice.length > 0)?_c('tr',[_c('td',{staticClass:\"font-weight-bold\"},[_vm._v(\"Totals\")]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.nextPreviousBalance)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.nextPaymentActivity)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.nextRefunds)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.nextFees)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.nextPastDue)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.nextCurrentAmount)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.nextRemainingBalance)}})])]):_vm._e()])])])]),_c('div',{staticClass:\"row detail-row\"},[_c('div',{staticClass:\"col-ss-12\"},[_c('h4',{staticClass:\"tfb-title-text-smaller text-blue font-weight-bold\"},[_vm._v(\"Previous Invoice\")])])]),_c('div',{staticClass:\"row policy-detail-row\"},[_c('div',{staticClass:\"col-ss-12\"},[_c('table',{staticClass:\"table table-responsive table-striped table-condensed account-bill-table\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\"Policy Number\")]),_c('th',[_vm._v(\"Previous Balance\")]),_c('th',[_vm._v(\"Payment Activity\")]),_c('th',[_vm._v(\"Refunds\")]),_c('th',[_vm._v(\"Fees\")]),_c('th',[_vm._v(\"Past Due Amount\")]),_c('th',[_vm._v(\"Current Amount Due\")]),_c('th',[_vm._v(\"Remaining Balance\")])])]),_c('tbody',[(!_vm.policyDetails.PastInvoice || _vm.policyDetails.PastInvoice.length === 0)?_c('tr',[_c('td',{attrs:{\"colspan\":\"8\"}},[_vm._v(\"Previous Invoice Unavailable\")])]):_vm._e(),_vm._l((_vm.policyDetails.PastInvoice),function(invoice){return _c('tr',{key:invoice.id},[_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.policyNbr)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.remainingBalanceFromLastStatement)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.paymentActivity)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.refunds)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.fees)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.pastAmountDue)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.currentAmountDue)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(invoice.remainingBalance)}})])])})],2),_c('tfoot',[(_vm.policyDetails.PastInvoice && _vm.policyDetails.PastInvoice.length > 0)?_c('tr',[_c('td',{staticClass:\"font-weight-bold\"},[_vm._v(\"Totals\")]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.previousPreviousBalance)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.previousPaymentActivity)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.previousRefunds)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.previousFees)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.previousPastDue)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.previousCurrentAmount)}})]),_c('td',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.previousRemainingBalance)}})])]):_vm._e()])])])])],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"tfb-title-text-smaller text-blue font-weight-bold\"},[_vm._v(\"Payment History\")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.policyDetails.PolicyType !== 'PR' && _vm.policyDetails.PolicyType !== 'AB')?_c('v-data-table',{staticClass:\"tfb-table\",attrs:{\"dense\":\"\",\"headers\":_vm.paymentHistoryHeaders,\"items\":_vm.policyDetails.Payments,\"items-per-page\":10,\"sort-by\":\"PaymentDate\",\"sort-desc\":\"\"},scopedSlots:_vm._u([{key:\"no-data\",fn:function(){return [_vm._v(\" No Payment History Available \")]},proxy:true},{key:\"item.PaymentDate\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm.formatDate(item.PaymentDate))+\" \")]}},{key:\"item.PaymentAmount\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm.formatMoney(item.PaymentAmount, 2))+\" \")]}}],null,false,964555195)}):_vm._e(),(_vm.policyDetails.PolicyType === 'PR')?_c('v-data-table',{attrs:{\"dense\":\"\",\"headers\":_vm.pfPaymentHistoryHeaders,\"items\":_vm.policyDetails.Payments,\"items-per-page\":10},scopedSlots:_vm._u([{key:\"no-data\",fn:function(){return [_vm._v(\" No Payment History Available \")]},proxy:true}],null,false,3366136001)}):_vm._e(),(_vm.policyDetails.PolicyType === 'AB')?_c('v-data-table',{attrs:{\"dense\":\"\",\"headers\":_vm.abPaymentHistoryHeaders,\"items\":_vm.policyDetails.CurrentPayments,\"items-per-page\":10,\"sort-by\":\"paymentDate\",\"sort-desc\":\"\"},scopedSlots:_vm._u([{key:\"no-data\",fn:function(){return [_vm._v(\" No Payment History Available \")]},proxy:true},{key:\"item.paymentDate\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm.formatDate(item.paymentDate))+\" \")]}},{key:\"item.payorAmount\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm.formatMoney(item.payorAmount, 2))+\" \")]}}],null,false,432041723)}):_vm._e()],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-expansion-panels accordion\r\n flat\r\n class=\"tfb-section my-3\">\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"px-0\">\r\n <v-row>\r\n <v-spacer></v-spacer>\r\n <v-col cols=\"12\"\r\n md=\"5\">\r\n <template v-slot:actions>\r\n <v-icon>$expand</v-icon>\r\n </template>\r\n <h3 class=\"text-blue font-weight-bold\">Billing and Payment History</h3>\r\n </v-col>\r\n </v-row>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"background-lightest-gray\">\r\n <!-- Non-Premium Finance/Account Bill Billing Information -->\r\n <div v-if=\"policyDetails.PolicyType !== 'PR' && policyDetails.PolicyType !== 'AB'\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h4 class=\"tfb-title-text-smaller text-blue font-weight-bold\">Premium For Current Policy</h4>\r\n </v-col>\r\n </v-row>\r\n <div class=\"px-2\">\r\n <v-row v-if=\"policyDetails.TermPremiumAmount && policyDetails.TermPremiumAmount !== '' && policyDetails.TermPremiumAmount !== '0' && policyDetails.TermPremiumAmount !== '0.00'\">\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n class=\"py-1\">\r\n <span class=\"font-weight-bold\">Term Premium For Current Policy:</span>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n class=\"py-1 text-right\">\r\n {{formatMoney(policyDetails.TermPremiumAmount, 0)}}\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"policyDetails.TotalDiscounts && policyDetails.TotalDiscounts !== '' && policyDetails.TotalDiscounts !== '0' && policyDetails.TotalDiscounts !== '0.00'\">\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n class=\"py-1\">\r\n <span class=\"font-weight-bold\">Total Discounts For Current Policy:</span>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n class=\"py-1 text-right\">\r\n {{formatMoney(policyDetails.TotalDiscounts, 0)}}\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"policyDetails.BilledPremiumAmount && policyDetails.BilledPremiumAmount !== '' && policyDetails.BilledPremiumAmount !== '0' && policyDetails.BilledPremiumAmount !== '0.00'\">\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n class=\"py-1\">\r\n <span class=\"font-weight-bold\">Billed Premium For Current Policy:</span>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n class=\"py-1 text-right\">\r\n {{formatMoney(policyDetails.BilledPremiumAmount, 0)}}\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"(policyDetails.PolicyType === 'SM' || policyDetails.PolicyType === 'CA')\r\n && policyDetails.TheftFee && policyDetails.TheftFee !== '' && policyDetails.TheftFee !== '0' && policyDetails.TheftFee !== '0.00'\">\r\n <v-col cols=\"10\"\r\n sm=\"6\"\r\n class=\"py-1\">\r\n <span class=\"font-weight-bold\">Motor Vehicle Crime Prevention Authority Fee:</span>\r\n </v-col>\r\n <v-col cols=\"2\"\r\n sm=\"6\"\r\n class=\"py-1 text-right\">\r\n {{formatMoney(policyDetails.TheftFee, 2)}}\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"policyDetails.PreviousDebitCredit && policyDetails.PreviousDebitCredit !== '' && policyDetails.PreviousDebitCredit !== '0' && policyDetails.PreviousDebitCredit !== '0.00'\">\r\n <v-col cols=\"10\"\r\n sm=\"6\"\r\n class=\"py-1\">\r\n <span class=\"font-weight-bold\">Previous Debit/Credit:</span>\r\n </v-col>\r\n <v-col cols=\"2\"\r\n sm=\"6\"\r\n class=\"py-1 text-right\">\r\n {{formatMoney(policyDetails.PreviousDebitCredit, 2)}}\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"policyDetails.Adjustments && policyDetails.Adjustments !== '' && policyDetails.Adjustments !== '0' && policyDetails.Adjustments !== '0.00'\">\r\n <v-col cols=\"10\"\r\n sm=\"6\"\r\n class=\"py-1\">\r\n <span class=\"font-weight-bold\">Adjustments Due To Changes:</span>\r\n </v-col>\r\n <v-col cols=\"2\"\r\n sm=\"6\"\r\n class=\"py-1 text-right\">\r\n {{formatMoney(policyDetails.Adjustments, 0)}}\r\n </v-col>\r\n </v-row>\r\n </div>\r\n </div>\r\n <!-- Account Bill Billing Information -->\r\n <div v-if=\"policyDetails.PolicyType === 'AB'\">\r\n <!-- Current Invoice -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h4 class=\"tfb-title-text-smaller text-blue font-weight-bold\">Current Invoice</h4>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <table class=\"table table-responsive table-striped table-condensed account-bill-table\">\r\n <thead>\r\n <tr>\r\n <th>Policy Number</th>\r\n <th>Previous Balance</th>\r\n <th>Payment Activity</th>\r\n <th>Refunds</th>\r\n <th>Fees</th>\r\n <th>Past Due Amount</th>\r\n <th>Current Amount Due</th>\r\n <th>Remaining Balance</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr v-if=\"!policyDetails.CurrentInvoice || policyDetails.CurrentInvoice.length === 0\">\r\n <td colspan=\"8\">Current Invoice Unavailable</td>\r\n </tr>\r\n <tr v-for=\"invoice in policyDetails.CurrentInvoice\"\r\n v-bind:key=\"invoice.id\">\r\n <td><span v-html=\"invoice.policyNbr\"></span></td>\r\n <td><span v-html=\"invoice.remainingBalanceFromLastStatement\"></span></td>\r\n <td><span v-html=\"invoice.paymentActivity\"></span></td>\r\n <td><span v-html=\"invoice.refunds\"></span></td>\r\n <td><span v-html=\"invoice.fees\"></span></td>\r\n <td><span v-html=\"invoice.pastAmountDue\"></span></td>\r\n <td><span v-html=\"invoice.currentAmountDue\"></span></td>\r\n <td><span v-html=\"invoice.remainingBalance\"></span></td>\r\n </tr>\r\n </tbody>\r\n <tfoot>\r\n <tr v-if=\"policyDetails.CurrentInvoice && policyDetails.CurrentInvoice.length > 0\">\r\n <td class=\"font-weight-bold\">Totals</td>\r\n <td><span v-html=\"currentPreviousBalance\"></span></td>\r\n <td><span v-html=\"currentPaymentActivity\"></span></td>\r\n <td><span v-html=\"currentRefunds\"></span></td>\r\n <td><span v-html=\"currentFees\"></span></td>\r\n <td><span v-html=\"currentPastDue\"></span></td>\r\n <td><span v-html=\"currentCurrentAmount\"></span></td>\r\n <td><span v-html=\"currentRemainingBalance\"></span></td>\r\n </tr>\r\n </tfoot>\r\n </table>\r\n </v-col>\r\n </v-row>\r\n <!-- Projected Next Invoice -->\r\n <div class=\"row detail-row\">\r\n <div class=\"col-ss-12\">\r\n <h4 class=\"tfb-title-text-smaller text-blue font-weight-bold\">Projected Next Invoice</h4>\r\n </div>\r\n </div>\r\n <div class=\"row policy-detail-row\">\r\n <div class=\"col-ss-12\">\r\n <table class=\"table table-responsive table-striped table-condensed account-bill-table\">\r\n <thead>\r\n <tr>\r\n <th>Policy Number</th>\r\n <th>Previous Balance</th>\r\n <th>Payment Activity</th>\r\n <th>Refunds</th>\r\n <th>Fees</th>\r\n <th>Past Due Amount</th>\r\n <th>Current Amount Due</th>\r\n <th>Remaining Balance</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr v-if=\"!policyDetails.NextInvoice || policyDetails.NextInvoice.length === 0\">\r\n <td colspan=\"8\">Projected Next Invoice Unavailable</td>\r\n </tr>\r\n <tr v-for=\"invoice in policyDetails.NextInvoice\"\r\n v-bind:key=\"invoice.id\">\r\n <td><span v-html=\"invoice.policyNbr\"></span></td>\r\n <td><span v-html=\"invoice.remainingBalanceFromLastStatement\"></span></td>\r\n <td><span v-html=\"invoice.paymentActivity\"></span></td>\r\n <td><span v-html=\"invoice.refunds\"></span></td>\r\n <td><span v-html=\"invoice.fees\"></span></td>\r\n <td><span v-html=\"invoice.pastAmountDue\"></span></td>\r\n <td><span v-html=\"invoice.currentAmountDue\"></span></td>\r\n <td><span v-html=\"invoice.remainingBalance\"></span></td>\r\n </tr>\r\n </tbody>\r\n <tfoot>\r\n <tr v-if=\"nextInvoice && nextInvoice.length > 0\">\r\n <td class=\"font-weight-bold\">Totals</td>\r\n <td><span v-html=\"nextPreviousBalance\"></span></td>\r\n <td><span v-html=\"nextPaymentActivity\"></span></td>\r\n <td><span v-html=\"nextRefunds\"></span></td>\r\n <td><span v-html=\"nextFees\"></span></td>\r\n <td><span v-html=\"nextPastDue\"></span></td>\r\n <td><span v-html=\"nextCurrentAmount\"></span></td>\r\n <td><span v-html=\"nextRemainingBalance\"></span></td>\r\n </tr>\r\n </tfoot>\r\n </table>\r\n </div>\r\n </div>\r\n <!-- Previous Invoice -->\r\n <div class=\"row detail-row\">\r\n <div class=\"col-ss-12\">\r\n <h4 class=\"tfb-title-text-smaller text-blue font-weight-bold\">Previous Invoice</h4>\r\n </div>\r\n </div>\r\n <div class=\"row policy-detail-row\">\r\n <div class=\"col-ss-12\">\r\n <table class=\"table table-responsive table-striped table-condensed account-bill-table\">\r\n <thead>\r\n <tr>\r\n <th>Policy Number</th>\r\n <th>Previous Balance</th>\r\n <th>Payment Activity</th>\r\n <th>Refunds</th>\r\n <th>Fees</th>\r\n <th>Past Due Amount</th>\r\n <th>Current Amount Due</th>\r\n <th>Remaining Balance</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr v-if=\"!policyDetails.PastInvoice || policyDetails.PastInvoice.length === 0\">\r\n <td colspan=\"8\">Previous Invoice Unavailable</td>\r\n </tr>\r\n <tr v-for=\"invoice in policyDetails.PastInvoice\"\r\n v-bind:key=\"invoice.id\">\r\n <td><span v-html=\"invoice.policyNbr\"></span></td>\r\n <td><span v-html=\"invoice.remainingBalanceFromLastStatement\"></span></td>\r\n <td><span v-html=\"invoice.paymentActivity\"></span></td>\r\n <td><span v-html=\"invoice.refunds\"></span></td>\r\n <td><span v-html=\"invoice.fees\"></span></td>\r\n <td><span v-html=\"invoice.pastAmountDue\"></span></td>\r\n <td><span v-html=\"invoice.currentAmountDue\"></span></td>\r\n <td><span v-html=\"invoice.remainingBalance\"></span></td>\r\n </tr>\r\n </tbody>\r\n <tfoot>\r\n <tr v-if=\"policyDetails.PastInvoice && policyDetails.PastInvoice.length > 0\">\r\n <td class=\"font-weight-bold\">Totals</td>\r\n <td><span v-html=\"previousPreviousBalance\"></span></td>\r\n <td><span v-html=\"previousPaymentActivity\"></span></td>\r\n <td><span v-html=\"previousRefunds\"></span></td>\r\n <td><span v-html=\"previousFees\"></span></td>\r\n <td><span v-html=\"previousPastDue\"></span></td>\r\n <td><span v-html=\"previousCurrentAmount\"></span></td>\r\n <td><span v-html=\"previousRemainingBalance\"></span></td>\r\n </tr>\r\n </tfoot>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Payment History -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h4 class=\"tfb-title-text-smaller text-blue font-weight-bold\">Payment History</h4>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <!-- Non-Premium Finance Payment History -->\r\n <v-data-table dense\r\n :headers=\"paymentHistoryHeaders\"\r\n :items=\"policyDetails.Payments\"\r\n :items-per-page=\"10\"\r\n sort-by=\"PaymentDate\"\r\n sort-desc\r\n v-if=\"policyDetails.PolicyType !== 'PR' && policyDetails.PolicyType !== 'AB'\"\r\n class=\"tfb-table\">\r\n <template v-slot:no-data>\r\n No Payment History Available\r\n </template>\r\n <template v-slot:item.PaymentDate=\"{ item }\">\r\n {{formatDate(item.PaymentDate)}}\r\n </template>\r\n <template v-slot:item.PaymentAmount=\"{ item }\">\r\n {{formatMoney(item.PaymentAmount, 2)}}\r\n </template>\r\n </v-data-table>\r\n <!-- Premium Finance Payment History -->\r\n <v-data-table dense\r\n :headers=\"pfPaymentHistoryHeaders\"\r\n :items=\"policyDetails.Payments\"\r\n :items-per-page=\"10\"\r\n v-if=\"policyDetails.PolicyType === 'PR'\">\r\n <template v-slot:no-data>\r\n No Payment History Available\r\n </template>\r\n </v-data-table>\r\n <!-- Account Bill Payment History -->\r\n <v-data-table dense\r\n :headers=\"abPaymentHistoryHeaders\"\r\n :items=\"policyDetails.CurrentPayments\"\r\n :items-per-page=\"10\"\r\n sort-by=\"paymentDate\"\r\n sort-desc\r\n v-if=\"policyDetails.PolicyType === 'AB'\">\r\n <template v-slot:no-data>\r\n No Payment History Available\r\n </template>\r\n <template v-slot:item.paymentDate=\"{ item }\">\r\n {{formatDate(item.paymentDate)}}\r\n </template>\r\n <template v-slot:item.payorAmount=\"{ item }\">\r\n {{formatMoney(item.payorAmount, 2)}}\r\n </template>\r\n </v-data-table>\r\n </v-col>\r\n </v-row>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n </v-expansion-panels>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'BillingPaymentHistory',\r\n props: {\r\n policyDetails: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n data() {\r\n return {\r\n paymentHistoryHeaders: [\r\n { text: 'Date', align: 'start', value: 'PaymentDate' },\r\n { text: 'Amount', value: 'PaymentAmount' },\r\n { text: 'Type', value: 'Description' },\r\n ],\r\n pfPaymentHistoryHeaders: [\r\n { text: 'Date', align: 'start', value: 'PaymentDate' },\r\n { text: 'Description', value: 'Description' },\r\n { text: 'Amount', value: 'Amount' },\r\n { text: 'Remaining Balance', value: 'RemainingBalance' },\r\n ],\r\n abPolicyHeaders: [\r\n { text: 'Policy Description', align: 'start', value: 'policyDescription' },\r\n { text: 'Policy Number', value: 'policyNbr' },\r\n { text: 'Member Number', value: 'membershipNbr' },\r\n ],\r\n abPaymentHistoryHeaders: [\r\n { text: 'Date', align: 'start', value: 'paymentDate' },\r\n { text: 'Amount', value: 'payorAmount' },\r\n { text: 'Method', value: 'payeeTypeDescr' },\r\n ],\r\n };\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BillingPaymentHistory.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BillingPaymentHistory.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BillingPaymentHistory.vue?vue&type=template&id=223ac444\"\nimport script from \"./BillingPaymentHistory.vue?vue&type=script&lang=js\"\nexport * from \"./BillingPaymentHistory.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div id=\"policy-details\">\r\n <v-container fluid\r\n class=\"tfb-container\">\r\n <h2 class=\"tfb-title-text-medium text-darker-blue text-uppercase\"\r\n v-if=\"policyDetails\"\r\n v-html=\"policyDetails.PolicyDescription\"></h2>\r\n <h2 class=\"tfb-title-text-medium text-darker-blue text-uppercase\"\r\n v-else>\r\n Policy Details\r\n </h2>\r\n <v-skeleton-loader :loading=\"policyLoading\"\r\n type=\"list-item-avatar-three-line\"\r\n class=\"mx-auto drop-shadow policy-box px-2 px-md-4 px-lg-6 mb-10\">\r\n <v-row v-if=\"!policyDetails || policyDetails.length === 0\">\r\n <v-col>\r\n Unable to locate policy information\r\n </v-col>\r\n </v-row>\r\n <v-container v-else\r\n fluid>\r\n <!-- Policy/Account Bill Information -->\r\n <v-row v-if=\"policyDetails.PolicyType !== 'PR'\">\r\n <v-col cols=\"12\"\r\n md=\"7\">\r\n <h3 class=\"tfb-title-text-small text-darker-blue text-uppercase\">\r\n Policy {{policyDetails.PolicyNumber}}\r\n </h3>\r\n <span class=\"font-weight-bold\">Effective Dates:</span>\r\n {{formatDate(policyDetails.PolicyEffectiveDate)}} —\r\n {{formatDate(policyDetails.PolicyExpirationDate)}}<br />\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"5\"\r\n class=\"policy-separator\">\r\n <policy-payment-list :policyDetails=\"policyDetails\"></policy-payment-list>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"policyDetails.PolicyType !== 'PR'\">\r\n <v-col cols=\"12\"\r\n md=\"7\">\r\n <h3 class=\"text-blue font-weight-bold\">Policyholder Information:</h3>\r\n <span class=\"font-weight-bold\" v-html=\"policyDetails.InsuredNames\"></span><br />\r\n <span v-if=\"policyDetails.FormattedPolicyAddress\"\r\n v-html=\"policyDetails.FormattedPolicyAddress\"></span>\r\n <span v-if=\"policyDetails.PolicyType !== 'AB'\">\r\n <span class=\"font-weight-bold\">Company:</span> {{policyDetails.WritingCompany}}\r\n <br />\r\n </span>\r\n <span v-if=\"policyDetails.PolicyType === 'UM'\">\r\n <span class=\"font-weight-bold\">Umbrella Policy Type:</span> {{policyDetails.PolicyDescription}}\r\n <br />\r\n <!-- Umbrella Limit -->\r\n <span v-if=\"policyDetails.PolicyLimit && policyDetails.PolicyLimit !== '' && policyDetails.PolicyLimit !== '0'\">\r\n <span class=\"font-weight-bold\">Umbrella Policy Limit:</span> {{formatMoney(policyDetails.PolicyLimit, 0)}}<br />\r\n </span>\r\n </span>\r\n <br />\r\n </v-col>\r\n <link-list displayLocation=\"details\"\r\n displayType=\"policy\"\r\n :policyAccount=\"policyDetails\"></link-list>\r\n </v-row>\r\n <!-- Premium Finance Information -->\r\n <v-row v-if=\"policyDetails.PolicyType === 'PR'\">\r\n <v-col cols=\"12\"\r\n md=\"7\">\r\n <span class=\"tfb-title-text-small text-darker-blue text-uppercase\">\r\n Contract Number {{policyDetails.PolicyNumber}}\r\n </span>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"5\"\r\n class=\"policy-separator\">\r\n <div class=\"font-weight-bold\">Monthly Payment:<br /></div>\r\n <div class=\"text-right text-md-left\">{{formatMoney(policyDetails.PolicyMinimumAmountDue, 2)}}<br /></div>\r\n <div class=\"font-weight-bold\">Current Due Date:<br /></div>\r\n <div class=\"text-right text-md-left\">{{formatDate(policyDetails.PolicyDueDate)}}<br /></div>\r\n <div class=\"font-weight-bold\">Total Amount Due:<br /></div>\r\n <div class=\"text-right text-md-left\">{{formatMoney(policyDetails.PolicyMaximumAmountDue, 2)}}<br /></div>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"policyDetails.PolicyType === 'PR'\">\r\n <v-col cols=\"12\"\r\n md=\"7\">\r\n <span class=\"font-weight-bold\">Contract Date:</span> {{formatDate(policyDetails.ContractDate)}}<br />\r\n <span class=\"font-weight-bold\">Total Premium:</span> {{policyDetails.TotalPremium}}<br />\r\n <span class=\"font-weight-bold\">Finance Charge:</span> {{policyDetails.FinanceCharge}}<br />\r\n </v-col>\r\n <link-list displayLocation=\"details\"\r\n displayType=\"policy\"\r\n :policyAccount=\"policyDetails\"></link-list>\r\n </v-row>\r\n <!-- Account Bill: Policy Listing -->\r\n <v-expansion-panels accordion\r\n flat\r\n class=\"tfb-section\"\r\n v-if=\"policyDetails.PolicyType === 'AB'\">\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"text-blue text-right font-weight-bold px-0\">\r\n <template v-slot:actions>\r\n <v-icon>$expand</v-icon>\r\n </template>\r\n <span class=\"text-right\">Policy Listing</span>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"background-lightest-gray py-4\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"text-blue font-weight-bold\">Associated Policies</span>\r\n </v-col>\r\n </v-row>\r\n <v-data-table dense\r\n :headers=\"abPolicyHeaders\"\r\n :items=\"policyDetails.Policies\"\r\n :items-per-page=\"10\"\r\n sort-by=\"policyNbr\"\r\n sort-desc\r\n class=\"tfb-table\">\r\n <template v-slot:no-data>\r\n No Policy Information Available\r\n </template>\r\n </v-data-table>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n </v-expansion-panels>\r\n <!-- Billing and Payment History -->\r\n <billing-payment-history :policyDetails=\"policyDetails\"></billing-payment-history>\r\n <!-- Billing Documents -->\r\n <billing-document-list :policyNumber=\"policyDetails.PolicyNumber\"\r\n :policyType=\"policyDetails.PolicyType\"\r\n :policySubType=\"policyDetails.PolicySubType\"\r\n :laurusFlag=\"policyDetails.LaurusFlag\"\r\n :guidewireFlag=\"policyDetails.GuidewireFlag\"></billing-document-list>\r\n <!-- Policy Documents -->\r\n <policy-document-list :policyNumber=\"policyDetails.PolicyNumber\"\r\n :policyType=\"policyDetails.PolicyType\"\r\n :policySubType=\"policyDetails.PolicySubType\"\r\n :policySymbol=\"policyDetails.PolicySymbol\"\r\n :effectiveDate=\"policyDetails.EffectiveDate\"\r\n :expirationDate=\"policyDetails.ExpirationDate\"\r\n :futureEffectiveDate=\"policyDetails.FutureEffectiveDate\"\r\n :futureExpirationDate=\"policyDetails.FutureExpirationDate\"\r\n :openPanel=\"99\"\r\n v-if=\"showPolicyDocuments\"></policy-document-list>\r\n <!-- Property Location -->\r\n <div v-if=\"policyDetails.PolicyType !== 'CA' && policyDetails.PolicyType !== 'SM'\">\r\n <v-row v-if=\"(policyDetails.PolicyType === 'TC' || policyDetails.PolicyType === 'CF' || policyDetails.PolicyType === 'CP') && policyDetails.PolicySubType !== '3'\">\r\n <h3 class=\"text-blue font-weight-bold\">Location of Property</h3>\r\n <v-col cols=\"12\"\r\n class=\"px-0\"\r\n v-if=\"policyDetails.Locations && policyDetails.Locations.length > 0\">\r\n <div v-for=\"location in policyDetails.Locations\"\r\n v-bind:key=\"location.LocationId\">\r\n {{location.LocationAddress}}<br />\r\n </div>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n v-else>\r\n None<br />\r\n </v-col>\r\n </v-row>\r\n <div v-else>\r\n <v-row v-if=\"((policyDetails.PolicyType === 'PF' || policyDetails.PolicyType === 'SF') && policyDetails.PolicySubType === '1') || policyDetails.GuidewireFlag === 'Y'\">\r\n <span class=\"text-blue font-weight-bold\">Location of Property</span>\r\n <v-col cols=\"12\"\r\n v-if=\"policyDetails.Locations && policyDetails.Locations.length > 0\"\r\n class=\"px-0\">\r\n <div v-for=\"location in policyDetails.Locations\"\r\n v-bind:key=\"location.id\">\r\n {{location}}<br />\r\n </div>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n v-else>\r\n None<br />\r\n </v-col>\r\n </v-row>\r\n <v-row v-else>\r\n <v-col cols=\"12\"\r\n class=\"px-0\"\r\n v-if=\"policyDetails.PropertyLocation && policyDetails.PropertyLocation.trim() !== ''\">\r\n <span class=\"text-blue font-weight-bold\">Location of Property</span><br />\r\n {{policyDetails.PropertyLocation}}\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <!-- Form -->\r\n <v-row v-if=\"policyDetails.PolicyForm && policyDetails.PolicyForm !== ''\">\r\n <v-col cols=\"12\"\r\n class=\"pa-0\">\r\n <span class=\"font-weight-bold\">Form:</span> {{policyDetails.PolicyForm}}\r\n <!--<v-icon small\r\n @click=\"showPolicyDefinition(policyDetails.PolicyType,'Liability','')\">mdi-help</v-icon>-->\r\n <br />\r\n </v-col>\r\n </v-row>\r\n <!-- Construction -->\r\n <v-row v-if=\"policyDetails.LocationConstruction && policyDetails.LocationConstruction !== '' && policyDetails.PolicyType !== 'PF' && policyDetails.PolicyType !== 'SF'\">\r\n <v-col cols=\"12\"\r\n class=\"pa-0\">\r\n <span class=\"font-weight-bold\">Construction:</span> {{policyDetails.LocationConstruction}}<br />\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <!-- Property Coverages/Endorsements/Discounts/Mortgagees -->\r\n <div v-if=\"policyDetails.PolicyType !== 'SM' && policyDetails.PolicyType !== 'CA' && policyDetails.PolicyType !== 'PR' && policyDetails.PolicyType !== 'AB'\r\n && policyDetails.PolicyType !== 'UM' && policyDetails.PolicyType !== 'CP' && policyDetails.PolicyType !== 'CF' && policyDetails.PolicyType !== 'TC'\">\r\n <v-expansion-panels accordion\r\n flat\r\n class=\"my-3\">\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"px-0\">\r\n <v-row>\r\n <v-spacer></v-spacer>\r\n <v-col cols=\"12\"\r\n md=\"5\">\r\n <template v-slot:actions>\r\n <v-icon>$expand</v-icon>\r\n </template>\r\n <h3 class=\"text-blue font-weight-bold\">Coverage Information</h3>\r\n </v-col>\r\n </v-row>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"background-lightest-gray pb-5\">\r\n <!-- Coverages -->\r\n <v-row class=\"mt-2\">\r\n <v-col cols=\"12\">\r\n <h3 class=\"tfb-title-text-smaller font-weight-bold text-blue\">\r\n Coverages\r\n <!--TODO: <v-icon small\r\n @click=\"showPolicyDefinition(policyDetails.PolicyType,'Liability','')\">mdi-help</v-icon>-->\r\n </h3>\r\n </v-col>\r\n </v-row>\r\n <!-- Guidewire Coverages -->\r\n <guidewire-policy-coverages v-if=\"policyDetails.GuidewireFlag === 'Y' && policyDetails.Sections\"\r\n :policyDetails=\"policyDetails\"></guidewire-policy-coverages>\r\n <!-- TAA/HOL/STF/INM Coverages -->\r\n <v-container fluid\r\n class=\"py-0\"\r\n v-else-if=\"(policyDetails.PolicyType === 'AA' || policyDetails.PolicyType === 'AT' || policyDetails.PolicyType === 'HT'\r\n || policyDetails.PolicyType === 'TT' || ((policyDetails.PolicyType === 'PF' || policyDetails.PolicyType === 'SF') && policyDetails.PolicySubType === '1'))\r\n && policyDetails.Sections\">\r\n <!-- Loop through sections -->\r\n <div v-for=\"section in policyDetails.Sections\"\r\n v-bind:key=\"section.id\">\r\n <!-- Is this a non-mortgagee section? -->\r\n <div v-if=\"section.Name !== 'Mortgagees' && section.Name !== 'Mortgagees/Loss Payees'\"\r\n class=\"py-2\">\r\n <!-- Output the section name -->\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"pb-1\">\r\n <h4 class=\"font-weight-bold\">{{section.Name}}</h4>\r\n </v-col>\r\n </v-row>\r\n <!-- Does this section have coverages? -->\r\n <v-container fluid\r\n class=\"py-0\"\r\n v-if=\"section.Coverages && section.Coverages.length > 0\">\r\n <!-- Loop through the section coverages -->\r\n <div v-for=\"coverage in section.Coverages\"\r\n v-bind:key=\"coverage.id\">\r\n <!-- Does this section coverage not have a detail section? -->\r\n <v-row v-if=\"!coverage.CoverageDetail || coverage.CoverageDetail.length <= 0\"\r\n class=\"mt-3\">\r\n <v-col cols=\"12\"\r\n md=\"9\"\r\n class=\"py-0\">\r\n <span v-if=\"coverage.Group != ''\">{{coverage.Group}}. </span>{{coverage.Name}}\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"3\"\r\n class=\"text-right text-md-left py-0\">{{coverage.Limit}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n <!-- Does this section coverage have a detail section? -->\r\n <v-container fluid\r\n v-if=\"coverage.CoverageDetail && coverage.CoverageDetail.length > 0\">\r\n <!-- Output the detail section name -->\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"mt-1 pb-1\">\r\n <span class=\"font-weight-bold\">{{coverage.Name}}</span>\r\n </v-col>\r\n </v-row>\r\n <!-- Loop through the detail section subcoverages -->\r\n <v-row v-for=\"subCoverage in coverage.CoverageDetail\"\r\n v-bind:key=\"subCoverage.id\">\r\n <v-col cols=\"12\"\r\n class=\"py-0\">{{subCoverage.Name}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n </v-container>\r\n <v-row v-else>\r\n <v-col cols=\"12\"\r\n class=\"py-0 px-6\">None</v-col>\r\n </v-row>\r\n <!-- Non-INM/STF Deductibles -->\r\n <v-container fluid\r\n class=\"mt-3 pb-0\"\r\n v-if=\"section.Deductibles && section.Deductibles.length > 0 && policyDetails.GuidewireFlag !== 'Y' && policyDetails.PolicyType !== 'PF'\r\n && policyDetails.PolicyType !== 'SF'\">\r\n <v-row v-for=\"deductible in section.Deductibles\"\r\n v-bind:key=\"deductible.id\">\r\n <v-col cols=\"12\"\r\n md=\"9\"\r\n class=\"py-0\">{{deductible.Name}}</v-col>\r\n <v-col cols=\"12\"\r\n md=\"3\"\r\n class=\"text-right text-md-left py-0\">{{formatMoney(deductible.Amount, 0)}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n </div>\r\n </v-container>\r\n <!-- Non-specialized Coverages -->\r\n <v-container fluid\r\n class=\"py-0\"\r\n v-else>\r\n <div v-if=\"policyDetails.Coverages && policyDetails.Coverages.length > 0\">\r\n <v-row v-for=\"coverage in policyDetails.Coverages\"\r\n v-bind:key=\"coverage.ItemNumberDescription\">\r\n <v-col cols=\"12\"\r\n md=\"7\"\r\n v-if=\"!coverage.ItemNumberDescription && !coverage.Description\">Unknown</v-col>\r\n <v-col cols=\"12\"\r\n md=\"7\"\r\n v-if=\"!coverage.ItemNumberDescription && coverage.Description\">{{coverage.Description}}</v-col>\r\n <v-col cols=\"12\"\r\n md=\"7\"\r\n v-if=\"coverage.ItemNumberDescription\">{{coverage.ItemNumberDescription}}</v-col>\r\n <v-col cols=\"12\"\r\n md=\"5\"\r\n class=\"text-right text-md-left\">{{formatMoney(coverage.Limit, 0)}}</v-col>\r\n </v-row>\r\n </div>\r\n <v-row v-else>\r\n <v-col cols=\"12\"\r\n class=\"px-6 py-0\">None</v-col>\r\n </v-row>\r\n </v-container>\r\n <!-- Deductibles -->\r\n <div v-if=\"((policyDetails.PolicyType === 'PF' || policyDetails.PolicyType === 'SF') && policyDetails.PolicySubType === '1') || policyDetails.GuidewireFlag === 'Y'\">\r\n <v-row class=\"mt-2\">\r\n <v-col cols=\"12\">\r\n <h3 class=\"tfb-title-text-smaller font-weight-bold text-blue\">\r\n Deductibles\r\n <!--TODO: <v-icon small\r\n @click=\"showPolicyDefinition(policyDetails.PolicyType,'Liability','')\">mdi-help</v-icon>-->\r\n </h3>\r\n </v-col>\r\n </v-row>\r\n <!-- STF/INM Deductibles -->\r\n <v-container fluid\r\n class=\"py-0\"\r\n v-if=\"policyDetails.Sections\">\r\n <div v-for=\"section in policyDetails.Sections\"\r\n v-bind:key=\"section.id\">\r\n <div v-if=\"section.Name !== 'Mortgagees' && section.Name !== 'Mortgagees/Loss Payees'\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h4 class=\"font-weight-bold\">{{section.Name}}</h4>\r\n </v-col>\r\n </v-row>\r\n <v-container fluid\r\n class=\"py-0\"\r\n v-if=\"section.Deductibles && section.Deductibles.length > 0\">\r\n <v-row v-for=\"deductible in section.Deductibles\"\r\n v-bind:key=\"deductible.id\">\r\n <v-col cols=\"12\"\r\n md=\"9\"\r\n class=\"py-0\">{{deductible.ObjectName}}</v-col>\r\n <v-col cols=\"12\"\r\n md=\"3\"\r\n class=\"text-right text-md-left py-0\">{{formatMoney(deductible.Amount, 0)}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n </v-container>\r\n <v-row v-else>\r\n <v-col cols=\"12\"\r\n class=\"px-6 py-0\">\r\n None\r\n </v-col>\r\n </v-row>\r\n </div>\r\n </div>\r\n </v-container>\r\n <v-row v-else>\r\n <v-col cols=\"12\"\r\n class=\"px-6 py-0\">\r\n None\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <!-- Endorsements -->\r\n <v-row class=\"mt-2\">\r\n <v-col cols=\"12\">\r\n <h3 class=\"tfb-title-text-smaller font-weight-bold text-blue\">\r\n Endorsements\r\n <!--TODO: <v-icon small\r\n @click=\"showPolicyDefinition(policyDetails.PolicyType,'Endorsements','')\">mdi-help</v-icon>-->\r\n </h3>\r\n </v-col>\r\n </v-row>\r\n <!-- Guidewire Endorsements -->\r\n <guidewire-endorsements v-if=\"policyDetails.GuidewireFlag === 'Y'\"\r\n :policyDetails=\"policyDetails\"></guidewire-endorsements>\r\n <v-container fluid\r\n class=\"py-0\"\r\n v-else>\r\n <div v-if=\"policyDetails.Endorsements && policyDetails.Endorsements.length > 0\">\r\n <v-row v-for=\"endorsement in policyDetails.Endorsements\"\r\n v-bind:key=\"endorsement.Id\">\r\n <v-col cols=\"3\"\r\n class=\"py-0 d-none d-sm-block\">{{endorsement.Id}}</v-col>\r\n <v-col cols=\"9\"\r\n class=\"py-0\">{{endorsement.Name}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n </div>\r\n <v-row v-else>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">None</v-col>\r\n </v-row>\r\n </v-container>\r\n <!-- Discounts -->\r\n <v-row class=\"mt-2\">\r\n <v-col cols=\"12\">\r\n <h3 class=\"tfb-title-text-smaller font-weight-bold text-blue\">\r\n Discounts\r\n <!--TODO: <v-icon small\r\n @click=\"showPolicyDefinition(policyDetails.PolicyType,'Discounts','')\">mdi-help</v-icon>-->\r\n </h3>\r\n </v-col>\r\n </v-row>\r\n <v-container fluid\r\n class=\"py-0\">\r\n <div v-if=\"policyDetails.Discounts && policyDetails.Discounts.length > 0\">\r\n <v-row v-for=\"discount in policyDetails.Discounts\"\r\n v-bind:key=\"discount.id\">\r\n <v-col cols=\"12\"\r\n class=\"py-0\">{{discount.Name}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n </div>\r\n <v-row v-else>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">None</v-col>\r\n </v-row>\r\n </v-container>\r\n <!-- Mortgagees -->\r\n <v-row class=\"mt-2\">\r\n <v-col cols=\"12\">\r\n <h3 class=\"tfb-title-text-smaller font-weight-bold text-blue\">Mortgagees/Loss Payees</h3>\r\n </v-col>\r\n </v-row>\r\n <guidewire-mortgagees-loss-payees v-if=\"policyDetails.GuidewireFlag === 'Y'\"\r\n :policyDetails=\"policyDetails\"></guidewire-mortgagees-loss-payees>\r\n <v-container fluid\r\n class=\"py-0\"\r\n v-else>\r\n <div v-if=\"policyDetails.Mortgagees && policyDetails.Mortgagees.length > 0\">\r\n <v-row v-for=\"mortgagee in policyDetails.Mortgagees\"\r\n v-bind:key=\"mortgagee.id\">\r\n <v-col cols=\"12\"\r\n class=\"py-1\">\r\n <span class=\"font-weight-bold\">{{mortgagee.Name}}</span><br />\r\n <span v-if=\"mortgagee.AdditionalName && mortgagee.AdditionalName.length > 0\">\r\n <em>{{mortgagee.AdditionalName}}</em><br />\r\n </span>\r\n <span v-if=\"mortgagee.LoanNumber && mortgagee.LoanNumber.length > 0\">\r\n Loan Number: {{mortgagee.LoanNumber}}<br />\r\n </span>\r\n <span v-if=\"mortgagee.Loan && mortgagee.Loan.length > 0\">\r\n Loan Number: {{mortgagee.Loan}}<br />\r\n </span>\r\n <address v-if=\"mortgagee.Address\">\r\n {{mortgagee.Address}}\r\n </address>\r\n <div class=\"d-block d-lg-none\"><hr /></div>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <v-row v-else>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">None</v-col>\r\n </v-row>\r\n </v-container>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n </v-expansion-panels>\r\n </div>\r\n <!-- CPP/GL Locations -->\r\n <div v-if=\"(policyDetails.PolicyType === 'CP' || policyDetails.PolicyType === 'CF' || policyDetails.PolicyType === 'TC') && policyDetails.PolicySubType !== '3'\">\r\n <v-expansion-panels accordion\r\n flat\r\n class=\"tfb-section py-1 my-3\">\r\n <v-expansion-panel>\r\n <v-expansion-panel-header class=\"px-0\">\r\n <v-row>\r\n <v-spacer></v-spacer>\r\n <v-col cols=\"12\"\r\n md=\"5\">\r\n <template v-slot:actions>\r\n <v-icon>$expand</v-icon>\r\n </template>\r\n <h3 class=\"text-blue font-weight-bold\">Coverage Information</h3>\r\n </v-col>\r\n </v-row>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content class=\"pa-0 background-lightest-gray\">\r\n <v-row v-if=\"!policyDetails.Coverages || policyDetails.Coverages.length === 0\">\r\n <v-col cols=\"12\">None</v-col>\r\n </v-row>\r\n <v-row v-else>\r\n <v-container v-for=\"(coverageLocation, index) in policyDetails.Coverages\"\r\n v-bind:key=\"coverageLocation.LocationId\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-smaller font-weight-bold\">\r\n {{coverageLocation.LocationAddress}}\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-container v-if=\"coverageLocation.OccurrenceLimit || coverageLocation.AggregateLimit\">\r\n <v-row v-if=\"coverageLocation.OccurrenceLimit\">\r\n <v-col cols=\"12\"\r\n md=\"8\"\r\n class=\"py-0\"><label class=\"font-weight-bold\">Each Occurrence Limit (CSL):</label></v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n class=\"py-0 text-right text-md-left\">{{formatMoney(coverageLocation.OccurrenceLimit, 0)}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"py-0 d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n <v-row v-if=\"coverageLocation.AggregateLimit\">\r\n <v-col cols=\"12\"\r\n md=\"8\"\r\n class=\"py-0\"><label class=\"font-weight-bold\">General Aggregate Limit (CSL):</label></v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n class=\"py-0 text-right text-md-left\">{{formatMoney(coverageLocation.AggregateLimit, 0)}}</v-col>\r\n </v-row>\r\n </v-container>\r\n <div v-if=\"coverageLocation.Buildings && coverageLocation.Buildings.length > 0\">\r\n <v-container v-for=\"building in coverageLocation.Buildings\"\r\n v-bind:key=\"building.BuildingId\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-smallest font-weight-bold\">{{building.BuildingDescription}}</span>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"building.BuildingCoverage && building.BuildingCoverage !== ''\">\r\n <v-col cols=\"12\"\r\n md=\"8\"\r\n class=\"py-0\"><label class=\"font-weight-bold\">Building Coverage:</label></v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n class=\"py-0 text-right text-md-left\">{{formatMoney(building.BuildingCoverage, 0)}}</v-col>\r\n <v-col cols=\"12\"\r\n md=\"12\"\r\n class=\"py-0 d-block d-lg-none\"\r\n v-if=\"index != policyDetails.Coverages.length - 1\"><hr /></v-col>\r\n </v-row>\r\n <v-row v-if=\"building.BusinessPersonalPropertyCoverage && building.BusinessPersonalPropertyCoverage !== ''\">\r\n <v-col cols=\"12\"\r\n md=\"8\"\r\n class=\"py-0\"><label class=\"font-weight-bold\">Business Personal Property Coverage:</label></v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n class=\"py-0 text-right text-md-left\">{{formatMoney(building.BusinessPersonalPropertyCoverage, 0)}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"py-0 d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n <v-row v-if=\"building.BusinessIncomeCoverage && building.BusinessIncomeCoverage !== ''\">\r\n <v-col cols=\"12\"\r\n md=\"8\"\r\n class=\"py-0\"><label class=\"font-weight-bold\">Business Income Coverage:</label></v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n class=\"py-0 text-right text-md-left\">{{formatMoney(building.BusinessIncomeCoverage, 0)}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"py-0 d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n <v-row v-if=\"building.SpecialClassCoverage && building.SpecialClassCoverage !== ''\">\r\n <v-col cols=\"12\"\r\n md=\"8\"\r\n class=\"py-0\"><label class=\"font-weight-bold\">Special Class Coverage:</label></v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n class=\"py-0 text-right text-md-left\">{{formatMoney(building.SpecialClassCoverage, 0)}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"py-0 d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n <v-row v-if=\"building.DeductibleAmount && building.DeductibleAmount !== ''\">\r\n <v-col cols=\"12\"\r\n md=\"8\"\r\n class=\"py-0\"><label class=\"font-weight-bold\">Deductible:</label></v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n class=\"py-0 text-right text-md-left\">{{formatMoney(building.DeductibleAmount, 0)}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"py-0 d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n <v-row v-if=\"coverageLocation.OccurrenceLimit && coverageLocation.OccurrenceLimit !== ''\">\r\n <v-col cols=\"12\"\r\n md=\"8\"\r\n class=\"py-0\"><label class=\"font-weight-bold\">Each Occurrence Limit (CSL):</label></v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n class=\"py-0 text-right text-md-left\">{{formatMoney(coverageLocation.OccurrenceLimit, 0)}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"py-0 d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n <v-row v-if=\"coverageLocation.AggregateLimit && coverageLocation.AggregateLimit !== ''\">\r\n <v-col cols=\"12\"\r\n md=\"8\"\r\n class=\"py-0\"><label class=\"font-weight-bold\">General Aggregate Limit (CSL):</label></v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n class=\"py-0 text-right text-md-left\">{{formatMoney(coverageLocation.AggregateLimit, 0)}}</v-col>\r\n <v-col cols=\"12\"\r\n class=\"py-0 d-block d-lg-none\"><hr /></v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n <v-col cols=\"12\"\r\n class=\"d-block d-lg-none\"\r\n v-if=\"index != policyDetails.Coverages.length - 1\"><hr /></v-col>\r\n </v-container>\r\n </v-row>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n </v-expansion-panels>\r\n </div>\r\n <!-- Farm Liability Locations -->\r\n <div v-if=\"policyDetails.PolicyType === 'CP' && policyDetails.PolicySubType === '3'\">\r\n <farm-liability-locations :locations=\"policyDetails.Locations\"></farm-liability-locations>\r\n </div>\r\n <!-- Underlying Location Counties/Policies -->\r\n <div v-if=\"policyDetails.PolicyType === 'UM'\">\r\n <!-- Underlying Location Counties -->\r\n <underlying-locations :locations=\"policyDetails.Locations\"></underlying-locations>\r\n <!-- Underlying Policies -->\r\n <underlying-policies :auto-policies=\"policyDetails.UnderlyingAutoPolicies\"\r\n :property-policies=\"policyDetails.UnderlyingPropertyPolicies\"></underlying-policies>\r\n </div>\r\n <div v-if=\"policyDetails.PolicyType === 'SM' || policyDetails.PolicyType === 'CA'\">\r\n <!-- Vehicle Information -->\r\n <vehicles :policyType=\"policyDetails.PolicyType\"\r\n :vehicles=\"policyDetails.Vehicles\"></vehicles>\r\n <!-- Driver Information -->\r\n <drivers :coveredDrivers=\"policyDetails.CoveredDrivers\"\r\n :excludedDrivers=\"policyDetails.ExcludedDrivers\"></drivers>\r\n </div>\r\n </v-container>\r\n </v-skeleton-loader>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import tfbMetaInfo from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import PolicyPaymentList from './policy/PolicyPaymentList.vue';\r\n import LinkList from './components/LinkList.vue';\r\n import BillingDocumentList from './policy/BillingDocumentList.vue';\r\n import PolicyDocumentList from './policy/PolicyDocumentList.vue';\r\n import GuidewirePolicyCoverages from './policy/GuidewirePolicyCoverages.vue';\r\n import GuidewireEndorsements from './policy/GuidewireEndorsements.vue';\r\n import GuidewireMortgageesLossPayees from './policy/GuidewireMortgageesLossPayees.vue';\r\n import Vehicles from './policy/Vehicles.vue';\r\n import Drivers from './policy/Drivers.vue';\r\n import UnderlyingLocations from './policy/UnderlyingLocations.vue';\r\n import UnderlyingPolicies from './policy/UnderlyingPolicies.vue';\r\n import FarmLiabilityLocations from './policy/FarmLiabilityLocations.vue';\r\n import BillingPaymentHistory from './policy/BillingPaymentHistory.vue';\r\n\r\n export default {\r\n name: 'PolicyDetails',\r\n props: {\r\n policyNumber: {\r\n type: String,\r\n required: true,\r\n },\r\n policyType: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbMetaInfo, tfbHelperMixin],\r\n components: {\r\n PolicyPaymentList,\r\n LinkList,\r\n BillingDocumentList,\r\n PolicyDocumentList,\r\n GuidewirePolicyCoverages,\r\n GuidewireEndorsements,\r\n GuidewireMortgageesLossPayees,\r\n Vehicles,\r\n Drivers,\r\n UnderlyingLocations,\r\n UnderlyingPolicies,\r\n FarmLiabilityLocations,\r\n BillingPaymentHistory,\r\n },\r\n data() {\r\n return {\r\n policyLoading: true,\r\n policyDetails: null,\r\n showPolicyDocuments: false,\r\n paymentHistoryHeaders: [\r\n { text: 'Date', align: 'start', value: 'PaymentDate' },\r\n { text: 'Amount', value: 'PaymentAmount' },\r\n { text: 'Type', value: 'Description' },\r\n ],\r\n pfPaymentHistoryHeaders: [\r\n { text: 'Date', align: 'start', value: 'PaymentDate' },\r\n { text: 'Description', value: 'Description' },\r\n { text: 'Amount', value: 'Amount' },\r\n { text: 'Remaining Balance', value: 'RemainingBalance' },\r\n ],\r\n abPolicyHeaders: [\r\n { text: 'Policy Description', align: 'start', value: 'policyDescription' },\r\n { text: 'Policy Number', value: 'policyNbr' },\r\n { text: 'Member Number', value: 'membershipNbr' },\r\n ],\r\n abPaymentHistoryHeaders: [\r\n { text: 'Date', align: 'start', value: 'paymentDate' },\r\n { text: 'Amount', value: 'payorAmount' },\r\n { text: 'Method', value: 'payeeTypeDescr' },\r\n ],\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return this.policyDetails ? `${this.policyDetails.PolicyDescription} | PolicyHolder` : 'Policy Details | PolicyHolder';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/policy/${this.$route.params.type}/${this.$route.params.number}`;\r\n },\r\n isMemberRole() {\r\n try {\r\n const memberRole = this.$store.getters['member/role'];\r\n if (memberRole === 'I') {\r\n return true;\r\n }\r\n return false;\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n memberNumber() {\r\n try {\r\n return this.$store.getters['member/memberNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n },\r\n mounted() {\r\n // Clear out any existing error messages\r\n dispatch('app/clearErrorMessage');\r\n\r\n // Show the loading overlay\r\n dispatch('app/setIsLoading', true);\r\n\r\n // Clear out any existing access page\r\n dispatch('app/setAccessPage', null);\r\n\r\n // Check that the application is active\r\n this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'Policyholder', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus === '') {\r\n // Check that the member is logged in\r\n const includedToken = this.$route.query.access_token;\r\n dispatch('member/validateLogin', { sToken: includedToken, sTfbId: this.trackingId })\r\n .then((loginValid) => {\r\n if (loginValid) {\r\n if (this.doStatusCheck()) {\r\n // Clear the access page\r\n dispatch('app/setAccessPage', null);\r\n\r\n // Make sure we have the Summary items\r\n dispatch('policy/getAccountSummary', { sMemberNumber: this.memberNumber, sTfbId: this.trackingId })\r\n .then(() => {\r\n // Get the policy details\r\n this.getPolicyDetails();\r\n })\r\n .catch(() => {\r\n // Clear the loading overlay\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n }\r\n } else {\r\n // Save the access page\r\n this.$store.dispatch('app/setAccessPage', this.$router.currentRoute);\r\n\r\n // Log out the member\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n // Clear the loading overlay\r\n this.$store.dispatch('app/setIsLoading', false);\r\n\r\n // Redirect to the login\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n // Clear the loading overlay\r\n this.$store.dispatch('app/setIsLoading', false);\r\n\r\n // Show the error message\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n // Show the error message\r\n dispatch('app/setErrorMessage', error.toString());\r\n\r\n // Clear the loading overlay\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n } else {\r\n // Show the error message\r\n this.$store.dispatch('app/setErrorMessage', returnedStatus);\r\n\r\n // Clear the loading overlay\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n // Show the error message\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n\r\n // Clear the loading overlay\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n\r\n // Clear the loading overlay\r\n dispatch('app/setIsLoading', false);\r\n },\r\n methods: {\r\n async getPolicyDetails() {\r\n dispatch('policy/getPolicyDetails', { sPolicyNumber: this.policyNumber, sPolicyType: this.policyType, sTfbId: this.trackingId })\r\n .then((policyResponse) => {\r\n this.policyDetails = policyResponse;\r\n // Get the policy types/subtypes allowed on Paperless Policy\r\n this.$store.dispatch('app/getFeatureFlag', { sTitle: 'PaperlessPolicyDisplayAllowed' })\r\n .then((allowedPaperless) => {\r\n if (allowedPaperless && allowedPaperless.length > 0) {\r\n const allowedPaperlessSplit = allowedPaperless.split(',');\r\n\r\n // Loop through list of allowed Paperless Policy types\r\n for (let a = 0; a < allowedPaperlessSplit.length; a += 1) {\r\n if (allowedPaperlessSplit[a]) {\r\n const policyTypeSplit = allowedPaperlessSplit[a].split('-');\r\n\r\n // Is this policy type/subtype allowed to view Paperless Policy documents?\r\n if (policyTypeSplit.length > 1 && this.policyDetails.PolicyType === policyTypeSplit[0] && this.policyDetails.PolicySubType === policyTypeSplit[1]) {\r\n // Show Paperless Policy documents section\r\n this.showPolicyDocuments = true;\r\n }\r\n }\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.showPolicyDocuments = false;\r\n });\r\n this.policyLoading = false;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('Request failed with status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.policyLoading = false;\r\n this.$store.dispatch('app/setIsLoading', true);\r\n // Save the access page\r\n this.$store.dispatch('app/setAccessPage', this.$router.currentRoute);\r\n\r\n // Log out the member\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n } else if (error.toString().indexOf('No policy details') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.policyLoading = false;\r\n this.$store.dispatch('app/setIsLoading', true);\r\n // Save the access page\r\n this.$store.dispatch('app/setAccessPage', this.$router.currentRoute);\r\n\r\n // Log out the member\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n }\r\n dispatch('app/setErrorMessage', error.toString());\r\n this.policyLoading = false;\r\n this.documentLoading = false;\r\n });\r\n },\r\n showPolicyDefinition(policyType, anchorText, newClassCode) {\r\n console.log(`TODO: Fetching definition for ${policyType}-${anchorText}-${newClassCode}!`);\r\n // var definition = { \"define\": policyType + anchorText, \"hasNewClass\": ((newClassCode) ? (newClassCode !== '' ? true : false) : false) };\r\n // localStorageService.set('txfbDefine', definition);\r\n // $('#phPolicyDefinitions').modal();\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .policy-box {\r\n background-color: $white;\r\n }\r\n\r\n div .policy-separator:not(:first-child) {\r\n border-top: solid 1px $tfb-gray;\r\n }\r\n\r\n @media (min-width: 960px) {\r\n div .policy-separator:not(:first-child) {\r\n border-top: none;\r\n border-left: solid 1px $tfb-gray;\r\n }\r\n }\r\n\r\n @media (max-width: 960px) {\r\n .v-expansion-panel-content__wrap {\r\n padding: 0 6px 16px !important;\r\n }\r\n }\r\n\r\n .tfb-section .v-expansion-panel-header {\r\n min-height: 16px !important;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PolicyDetails.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PolicyDetails.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PolicyDetails.vue?vue&type=template&id=1c067e10\"\nimport script from \"./PolicyDetails.vue?vue&type=script&lang=js\"\nexport * from \"./PolicyDetails.vue?vue&type=script&lang=js\"\nimport style0 from \"./PolicyDetails.vue?vue&type=style&index=0&id=1c067e10&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-smaller-container pb-10\",attrs:{\"fluid\":\"\"}},[_c('h1',{staticClass:\"tfb-title-text-medium text-darker-blue text-uppercase\"},[_vm._v(\"Manage My Account\")]),(_vm.showMobileAppBanner)?_c('mobile-app-banner'):_vm._e(),_c('a',{attrs:{\"id\":\"email\"}}),_c('email-changes'),_c('a',{attrs:{\"id\":\"password\"}}),_c('password-changes'),_c('a',{attrs:{\"id\":\"phone\"}}),(_vm.textEligible !== null && _vm.textEligible.length > 0 && _vm.foundContactList && _vm.foundContactList !== null)?_c('phone-changes',{attrs:{\"contact-list\":_vm.foundContactList,\"phone-loading\":_vm.phoneLoading}}):_vm._e(),_c('a',{attrs:{\"id\":\"ebill\"}}),(_vm.hasLegacyPolicies)?_c('ebill-changes',{attrs:{\"contact-list\":_vm.foundContactList,\"policy-list\":_vm.accountSummary,\"ab-list\":_vm.accountBillSummary}}):_vm._e(),(_vm.hasGuidewirePolicies)?_c('invoice-cloud-paperless'):_vm._e(),_c('a',{attrs:{\"id\":\"paperless\"}}),(_vm.hasLegacyPolicies)?_c('paperless-changes',{attrs:{\"contact-list\":_vm.foundContactList,\"policy-list\":_vm.accountSummary}}):_vm._e(),(_vm.hasGuidewirePolicies)?_c('invoice-cloud-text-payment'):_vm._e(),_c('a',{attrs:{\"id\":\"accountBill\"}}),_c('a',{attrs:{\"id\":\"membership\"}}),_c('membership-changes'),_c('a',{attrs:{\"id\":\"communication\"}}),_c('communication-changes')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"mobile-app-banner mt-16 pa-0\",attrs:{\"fluid\":\"\"}},[_c('v-container',{staticClass:\"pa-0\"},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"mobile-app-banner-text pa-4 my-auto\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('h2',{staticClass:\"mobile-app-banner-header-text\"},[_vm._v(\" Download Our New App \")]),_c('p',[_vm._v(\"Secure access to ID cards, key policy info, and more\")]),_c('mobile-app-links')],1),_c('v-col',{staticClass:\"mobile-app-banner-image\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"id\":\"mobile-app-banner\"}},[(_vm.$vuetify.breakpoint.mdAndDown)?_c('v-img',{staticClass:\"mx-auto\",attrs:{\"src\":_vm.imageRootPath +'mobile-app-single.png',\"height\":\"300\",\"contain\":\"\"}}):_c('v-img',{staticClass:\"mx-auto\",attrs:{\"src\":_vm.imageRootPath +'mobile-app-multiple.png',\"height\":\"250\",\"contain\":\"\"}})],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"mobile-app-banner mt-16 pa-0\">\r\n <v-container class=\"pa-0\">\r\n <v-row no-gutters>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n class=\"mobile-app-banner-text pa-4 my-auto\">\r\n <h2 class=\"mobile-app-banner-header-text\">\r\n Download Our New App\r\n </h2>\r\n <p>Secure access to ID cards, key policy info, and more</p>\r\n <mobile-app-links></mobile-app-links>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n id=\"mobile-app-banner\"\r\n class=\"mobile-app-banner-image\">\r\n <v-img v-bind:src=\"imageRootPath +'mobile-app-single.png'\"\r\n class=\"mx-auto\"\r\n height=\"300\"\r\n contain\r\n v-if=\"$vuetify.breakpoint.mdAndDown\">\r\n </v-img>\r\n <v-img v-bind:src=\"imageRootPath +'mobile-app-multiple.png'\"\r\n class=\"mx-auto\"\r\n height=\"250\"\r\n contain\r\n v-else>\r\n </v-img>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </v-container>\r\n</template>\r\n<script>\r\n import MobileAppLinks from '@/views/layout/components/MobileAppLinks.vue';\r\n\r\n export default {\r\n name: 'MobileAppBanner',\r\n components: {\r\n MobileAppLinks,\r\n },\r\n computed: {\r\n imageRootPath() {\r\n return `${process.env.VUE_APP_ROOT_URI}/publishingimages/`;\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .mobile-app-banner {\r\n z-index: 997;\r\n background: rgba(255,255,255,1);\r\n background: -moz-linear-gradient(left, rgba(255,255,255,1) 30%, rgba(202,226,241,1) 85%, rgba(202,226,241,1) 100%);\r\n background: -webkit-gradient(left top, right top, color-stop(30%, rgba(255,255,255,1)), color-stop(85%, rgba(202,226,241,1)), color-stop(100%, rgba(202,226,241,1)));\r\n background: -webkit-linear-gradient(left, rgba(255,255,255,1) 30%, rgba(202,226,241,1) 85%, rgba(202,226,241,1) 100%);\r\n background: -o-linear-gradient(left, rgba(255,255,255,1) 30%, rgba(202,226,241,1) 85%, rgba(202,226,241,1) 100%);\r\n background: -ms-linear-gradient(left, rgba(255,255,255,1) 30%, rgba(202,226,241,1) 85%, rgba(202,226,241,1) 100%);\r\n background: linear-gradient(to right, rgba(255,255,255,1) 30%, rgba(202,226,241,1) 85%, rgba(202,226,241,1) 100%);\r\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#cae2f1', GradientType=1 );\r\n }\r\n\r\n .mobile-app-banner-text {\r\n color: $tfb-darker-blue;\r\n font-family: 'BS-light', $body-font-family;\r\n padding: 20px;\r\n }\r\n\r\n .mobile-app-banner-header-text {\r\n font-size: 36px;\r\n }\r\n\r\n .mobile-app-banner-detail-text {\r\n font-size: 16px;\r\n }\r\n\r\n .mobile-app-banner-mobile-links {\r\n background: $white;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileAppBanner.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileAppBanner.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MobileAppBanner.vue?vue&type=template&id=0d336b64\"\nimport script from \"./MobileAppBanner.vue?vue&type=script&lang=js\"\nexport * from \"./MobileAppBanner.vue?vue&type=script&lang=js\"\nimport style0 from \"./MobileAppBanner.vue?vue&type=style&index=0&id=0d336b64&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-smaller-container tfb-component-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"drop-shadow background-white px-md-10 pb-5\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-small text-uppercase\"},[_vm._v(\" Manage Email Address \")])])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Current Email Address:\")]),_vm._v(\" \"+_vm._s(_vm.emailAddress)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"pt-0\",attrs:{\"cols\":\"12\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Verification Status:\")]),_vm._v(\"   \"),(!_vm.emailVerified)?_c('span',[_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.sendVerification()}}},[_vm._v(\"Click here to verify your email address\")])]):_c('span',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-check\")]),_vm._v(\" Verified \")],1)])],1),(_vm.pendingEmailAddress && _vm.pendingEmailAddress !== null && _vm.pendingEmailAddress !== '')?_c('v-row',[_c('v-col',{staticClass:\"pt-0 font-italic body-2\",attrs:{\"cols\":\"12\"}},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Pending Email Address:\")]),_vm._v(\" \"+_vm._s(_vm.pendingEmailAddress)+\" \"),_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.sendPendingVerification()}}},[_vm._v(\"Resend email address verification\")])])],1):_vm._e(),(_vm.verificationSuccess || _vm.emailSuccess)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.verificationSuccess)?_c('v-alert',{attrs:{\"type\":\"success\"}},[_vm._v(\" Thank you! A verification email has been sent. Please click on the link in that email to verify your email address. \")]):_vm._e(),(_vm.emailSuccess)?_c('v-alert',{attrs:{\"type\":\"success\"}},[_vm._v(\" A verification email has been sent to your new email address. Please click on the accompanying link to verify your email address and complete the update process. \")]):_vm._e()],1)],1):_vm._e(),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [(!_vm.emailSuccess)?_c('v-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.updateEmailAddress)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|email|valid_domain|confirmed:username|min:4|max:60\",\"minlength\":\"4\",\"maxlength\":\"60\",\"label\":\"New Email Address\",\"disabled\":_vm.formDisabled},model:{value:(_vm.newEmailAddress),callback:function ($$v) {_vm.newEmailAddress=$$v},expression:\"newEmailAddress\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|email|min:4|max:60\",\"minlength\":\"4\",\"maxlength\":\"60\",\"label\":\"Confirm New Email Address\",\"disabled\":_vm.formDisabled,\"vid\":\"username\"},model:{value:(_vm.confirmNewEmailAddress),callback:function ($$v) {_vm.confirmNewEmailAddress=$$v},expression:\"confirmNewEmailAddress\"}})],1)],1),(_vm.memberList && _vm.memberList.length > 1)?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":\"Update for all associated memberships?\"},model:{value:(_vm.updateAllMembers),callback:function ($$v) {_vm.updateAllMembers=$$v},expression:\"updateAllMembers\"}})],1)],1):_vm._e(),_c('v-row',[_c('v-col',{staticClass:\"font-weight-bold py-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\" Please note that your new email address will be your username upon verification. \")])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\"Submit\")])],1)],1)],1):_vm._e()]}}])}),_c('v-overlay',{attrs:{\"absolute\":\"\",\"value\":_vm.saveOverlay}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-smaller-container tfb-component-container\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"drop-shadow background-white px-md-10 pb-5\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-small text-uppercase\">\r\n Manage Email Address\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <label class=\"font-weight-bold\">Current Email Address:</label>\r\n {{emailAddress}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"pt-0\">\r\n <label class=\"font-weight-bold\">Verification Status:</label>  \r\n <span v-if=\"!emailVerified\">\r\n <a href=\"\"\r\n v-on:click.prevent=\"sendVerification()\">Click here to verify your email address</a>\r\n </span>\r\n <span v-else>\r\n <v-icon small>mdi-check</v-icon> Verified\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"pendingEmailAddress && pendingEmailAddress !== null && pendingEmailAddress !== ''\">\r\n <v-col cols=\"12\"\r\n class=\"pt-0 font-italic body-2\">\r\n <label class=\"font-weight-bold\">Pending Email Address:</label>\r\n {{pendingEmailAddress}} <a href=\"\" v-on:click.prevent=\"sendPendingVerification()\">Resend email address verification</a>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"verificationSuccess || emailSuccess\">\r\n <v-col cols=\"12\">\r\n <v-alert type=\"success\"\r\n v-if=\"verificationSuccess\">\r\n Thank you! A verification email has been sent. Please click on the link in that email to verify your email address.\r\n </v-alert>\r\n <v-alert type=\"success\"\r\n v-if=\"emailSuccess\">\r\n A verification email has been sent to your new email address. Please click on the accompanying link to verify your email address and complete the update process.\r\n </v-alert>\r\n </v-col>\r\n </v-row>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form @submit.stop.prevent=\"handleSubmit(updateEmailAddress)\"\r\n v-if=\"!emailSuccess\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|email|valid_domain|confirmed:username|min:4|max:60\"\r\n minlength=\"4\"\r\n maxlength=\"60\"\r\n label=\"New Email Address\"\r\n v-model=\"newEmailAddress\"\r\n :disabled=\"formDisabled\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|email|min:4|max:60\"\r\n minlength=\"4\"\r\n maxlength=\"60\"\r\n label=\"Confirm New Email Address\"\r\n v-model=\"confirmNewEmailAddress\"\r\n :disabled=\"formDisabled\"\r\n vid=\"username\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"memberList && memberList.length > 1\">\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <v-checkbox v-model=\"updateAllMembers\"\r\n label=\"Update for all associated memberships?\">\r\n </v-checkbox>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"font-weight-bold py-0\">\r\n Please note that your new email address will be your username upon verification.\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n md=\"4\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Submit</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n <v-overlay absolute\r\n :value=\"saveOverlay\">\r\n <v-progress-circular indeterminate\r\n size=\"64\"></v-progress-circular>\r\n </v-overlay>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import { ValidationObserver } from 'vee-validate';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'EmailChanges',\r\n mixins: [tfbHelperMixin],\r\n components: {\r\n ValidationObserver,\r\n },\r\n data() {\r\n return {\r\n saveOverlay: false,\r\n formDisabled: false,\r\n newEmailAddress: '',\r\n confirmNewEmailAddress: '',\r\n updateAllMembers: true,\r\n emailSuccess: false,\r\n verificationSuccess: false,\r\n };\r\n },\r\n computed: {\r\n memberList() {\r\n try {\r\n return this.$store.getters['member/memberList'];\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n emailAddress() {\r\n try {\r\n return this.$store.getters['member/emailAddress'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n pendingEmailAddress() {\r\n try {\r\n return this.$store.getters['member/pendingEmailAddress'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n emailVerified() {\r\n try {\r\n return this.$store.getters['member/verifiedIndicator'];\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n },\r\n methods: {\r\n sendVerification() {\r\n this.emailSuccess = false;\r\n this.verificationSuccess = false;\r\n this.saveOverlay = true;\r\n dispatch('member/sendEmailVerification', {\r\n sEmailAddress: this.emailAddress, sTfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n // Update was successful\r\n this.verificationSuccess = true;\r\n this.saveOverlay = false;\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error);\r\n this.saveOverlay = false;\r\n });\r\n },\r\n sendPendingVerification() {\r\n this.emailSuccess = false;\r\n this.verificationSuccess = false;\r\n this.saveOverlay = true;\r\n dispatch('member/sendEmailVerification', {\r\n sEmailAddress: this.pendingEmailAddress, sTfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n // Update was successful\r\n this.verificationSuccess = true;\r\n this.saveOverlay = false;\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error);\r\n this.saveOverlay = false;\r\n });\r\n },\r\n updateEmailAddress() {\r\n this.emailSuccess = false;\r\n this.verificationSuccess = false;\r\n this.saveOverlay = true;\r\n dispatch('member/updateEmailAddress', {\r\n sOldEmailAddress: this.emailAddress, sNewEmailAddress: this.newEmailAddress, sIncludeAllMembers: this.updateAllMembers, sTfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n // Update was successful\r\n this.emailSuccess = true;\r\n this.saveOverlay = false;\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error);\r\n this.saveOverlay = false;\r\n });\r\n },\r\n },\r\n mounted() {\r\n if (!this.isMemberRole) {\r\n // Not the member, don't allow changes\r\n this.formDisabled = true;\r\n }\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Email.vue?vue&type=template&id=0821857a\"\nimport script from \"./Email.vue?vue&type=script&lang=js\"\nexport * from \"./Email.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.contactList.length > 0)?_c('v-container',{staticClass:\"tfb-smaller-container tfb-component-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"drop-shadow background-white px-md-10 pb-5\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-uppercase\"},[_vm._v(\" Manage Phone Numbers \")])])],1),_c('phone-verification'),_c('enable-text-dialog'),_c('v-data-table',{attrs:{\"headers\":_vm.phoneHeaders,\"items\":_vm.contactList,\"loading\":_vm.phoneLoading,\"hide-default-footer\":\"\",\"disable-sort\":\"\"},scopedSlots:_vm._u([{key:\"item.TextEnabled\",fn:function({ item }){return undefined}},{key:\"item.Verified\",fn:function({ item }){return [(item.PhoneNumber === null || item.PhoneNumber === '')?_c('span',[_vm._v(\" No \")]):(!item.TextEnabled && _vm.phoneVerificationEnabled === 'Y')?_c('span',[_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();_vm.showTextEnable = true}}},[_vm._v(\"How do I enable texts?\")])]):(!item.Verified && _vm.phoneVerificationEnabled === 'Y')?_c('span',[_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.sendVerifyPhone(item.MiraId, item.PhoneNumber)}}},[_vm._v(\"Click here to verify your phone number\")])]):(item.Verified)?_c('span',[_vm._v(\"Verified\")]):_c('span',[_vm._v(\"No\")])]}}],null,false,943586451)}),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [(_vm.contactList && _vm.contactList.length > 0 && _vm.contactUpdateEnabled === 'Y')?_c('v-form',{ref:\"updateContactForm\",attrs:{\"role\":\"form\",\"name\":\"updateContactForm\"},on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.updatePhoneNumber)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Contact Name\",\"items\":_vm.contactList,\"item-text\":\"FullName\",\"return-object\":\"\"},model:{value:(_vm.updateContact),callback:function ($$v) {_vm.updateContact=$$v},expression:\"updateContact\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('text-input',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('###-###-####'),expression:\"'###-###-####'\"}],attrs:{\"rules\":\"required|phone_number|min:10|max:12\",\"autocomplete\":\"home tel\",\"minlength\":\"10\",\"maxlength\":\"12\",\"label\":\"New Phone Number\",\"disabled\":_vm.formDisabled,\"type\":\"tel\"},model:{value:(_vm.updatedPhoneNumber),callback:function ($$v) {_vm.updatedPhoneNumber=$$v},expression:\"updatedPhoneNumber\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\"Update Phone Number\")])],1)],1)],1):_vm._e()]}}],null,false,3660517415)}),(_vm.contactUpdateEnabled === 'Y')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.contactList && _vm.contactList.length >= 1),expression:\"contactList && contactList.length >= 1\"}],staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled},on:{\"click\":function($event){return _vm.addMemberShow()}}},[_vm._v(\"Add New Contact\")])],1),_c('v-spacer')],1):_vm._e(),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [(_vm.showPhoneAdd)?_c('v-form',{ref:\"addContactForm\",attrs:{\"role\":\"form\",\"name\":\"addContactForm\"},on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.addContact)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|name|min:2|max:25\",\"minlength\":\"2\",\"maxlength\":\"25\",\"label\":\"First Name\",\"autocomplete\":\"shipping given-name\",\"autocapitalize\":\"words\"},model:{value:(_vm.firstName),callback:function ($$v) {_vm.firstName=$$v},expression:\"firstName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|name|min:2|max:25\",\"minlength\":\"2\",\"maxlength\":\"25\",\"label\":\"Last Name\",\"autocomplete\":\"shipping family-name\",\"autocapitalize\":\"words\"},model:{value:(_vm.lastName),callback:function ($$v) {_vm.lastName=$$v},expression:\"lastName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Relationship to Member\",\"items\":_vm.relationshipOptions,\"item-text\":\"Name\",\"item-value\":\"Id\"},model:{value:(_vm.relationship),callback:function ($$v) {_vm.relationship=$$v},expression:\"relationship\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Gender\",\"items\":_vm.genderOptions,\"item-text\":\"Name\",\"item-value\":\"Id\"},model:{value:(_vm.gender),callback:function ($$v) {_vm.gender=$$v},expression:\"gender\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-menu',{ref:\"birthDateMenu\",attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required\",\"name\":\"Date of Birth\",\"vid\":\"birth\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid }){return [_c('v-text-field',_vm._g(_vm._b({directives:[{name:\"mask\",rawName:\"v-mask\",value:('##/##/####'),expression:\"'##/##/####'\"}],attrs:{\"autocomplete\":\"dob\",\"outlined\":\"\",\"required\":\"\",\"readonly\":\"\",\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid,\"label\":\"Date of Birth\"},on:{\"change\":function($event){_vm.unformattedDateOfBirth = _vm.parseDate(_vm.dateOfBirth)}},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-calendar\")]),_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.dateOfBirth),callback:function ($$v) {_vm.dateOfBirth=$$v},expression:\"dateOfBirth\"}},'v-text-field',attrs,false),on))]}}],null,true)})]}}],null,true),model:{value:(_vm.birthDateMenu),callback:function ($$v) {_vm.birthDateMenu=$$v},expression:\"birthDateMenu\"}},[_c('v-date-picker',{ref:\"picker\",attrs:{\"active-picker\":_vm.dateOfBirthActivePicker,\"color\":\"background-blue\",\"no-title\":\"\",\"max\":_vm.maxDateOfBirth,\"min\":\"1920-01-01\"},on:{\"update:activePicker\":function($event){_vm.dateOfBirthActivePicker=$event},\"update:active-picker\":function($event){_vm.dateOfBirthActivePicker=$event},\"input\":function($event){_vm.birthDateMenu = false}},model:{value:(_vm.unformattedDateOfBirth),callback:function ($$v) {_vm.unformattedDateOfBirth=$$v},expression:\"unformattedDateOfBirth\"}})],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('###-###-####'),expression:\"'###-###-####'\"}],attrs:{\"rules\":\"required|phone_number|min:10|max:12\",\"autocomplete\":\"home tel\",\"minlength\":\"10\",\"maxlength\":\"12\",\"label\":\"Phone Number\",\"type\":\"tel\"},model:{value:(_vm.phoneNumber),callback:function ($$v) {_vm.phoneNumber=$$v},expression:\"phoneNumber\"}})],1)],1),_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\"Submit\")])],1)],1)],1):_vm._e()]}}],null,false,297805685)}),_c('v-overlay',{attrs:{\"absolute\":\"\",\"value\":_vm.saveOverlay}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1)],1)],1)],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"600px\"},model:{value:(_vm.showPhoneVerification),callback:function ($$v) {_vm.showPhoneVerification=$$v},expression:\"showPhoneVerification\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"background-darker-blue\"},[_c('h3',{staticClass:\"tfb-title-text-small text-uppercase\"},[_vm._v(\"Phone Verification\")])]),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ passes }){return [_c('v-form',{ref:\"verificationForm\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return passes(_vm.verifyPhone)}}},[_c('v-card-text',[_c('v-container',{staticClass:\"py-0 tfb-component-container\"},[_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_c('p',{staticClass:\"text-black\"},[_vm._v(\" To verify your phone number, please enter the code sent via text message (SMS) to the number you provided above. If you do not receive the code within the next few minutes, close the verification box and click the link: “Click here to verify your phone number”. If you did not receive this code or need help, please call \"),_c('a',{attrs:{\"href\":_vm.contactUsPhone.link}},[_vm._v(_vm._s(_vm.contactUsPhone.display))]),_vm._v(\". \")])])],1),(_vm.showError)?_c('v-row',{staticClass:\"tfb-notification\",attrs:{\"role\":\"alert\"}},[_c('v-col',{staticClass:\"tfb-notification-notice\",attrs:{\"cols\":\"12\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.errorMessage)}})])],1):_vm._e(),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_c('v-otp-input',{attrs:{\"length\":\"6\",\"disabled\":_vm.saveOverlay},on:{\"finish\":_vm.verifyPhone},model:{value:(_vm.enteredVerificationCode),callback:function ($$v) {_vm.enteredVerificationCode=$$v},expression:\"enteredVerificationCode\"}})],1)],1)],1)],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"tfb-button background-red\",on:{\"click\":_vm.onClose}},[_vm._v(\"Close\")])],1)],1)]}}])}),_c('v-overlay',{attrs:{\"absolute\":\"\",\"value\":_vm.saveOverlay}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-dialog v-model=\"showPhoneVerification\"\r\n persistent\r\n max-width=\"600px\">\r\n <v-card>\r\n <v-card-title class=\"background-darker-blue\">\r\n <h3 class=\"tfb-title-text-small text-uppercase\">Phone Verification</h3>\r\n </v-card-title>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ passes }\">\r\n <v-form ref=\"verificationForm\"\r\n @submit.stop.prevent=\"passes(verifyPhone)\">\r\n <v-card-text>\r\n <v-container class=\"py-0 tfb-component-container\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <p class=\"text-black\">\r\n To verify your phone number, please enter the code sent via text message (SMS) to the number you provided above.\r\n If you do not receive the code within the next few minutes, close the verification box and click the link:\r\n “Click here to verify your phone number”. If you did not receive this code or need help, please\r\n call <a :href=\"contactUsPhone.link\">{{ contactUsPhone.display }}</a>.\r\n </p>\r\n </v-col>\r\n </v-row>\r\n <v-row class=\"tfb-notification\"\r\n role=\"alert\"\r\n v-if=\"showError\">\r\n <v-col cols=\"12\"\r\n class=\"tfb-notification-notice\">\r\n <span v-html=\"errorMessage\"></span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <v-otp-input length=\"6\"\r\n v-model=\"enteredVerificationCode\"\r\n :disabled=\"saveOverlay\"\r\n @finish=\"verifyPhone\"></v-otp-input>\r\n <!--<text-input rules=\"required|min:6|max:8\"\r\n minlength=\"6\"\r\n maxlength=\"8\"\r\n label=\"Verification Code\"\r\n v-model=\"enteredVerificationCode\"></text-input>-->\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </v-card-text>\r\n <v-card-actions>\r\n <v-spacer></v-spacer>\r\n <v-btn class=\"tfb-button background-red\"\r\n @click=\"onClose\">Close</v-btn>\r\n </v-card-actions>\r\n </v-form>\r\n </ValidationObserver>\r\n <v-overlay absolute\r\n :value=\"saveOverlay\">\r\n <v-progress-circular indeterminate\r\n size=\"64\"></v-progress-circular>\r\n </v-overlay>\r\n </v-card>\r\n </v-dialog>\r\n</template>\r\n<script>\r\n import { dispatch, sync } from 'vuex-pathify';\r\n import { ValidationObserver } from 'vee-validate';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n\r\n export default {\r\n name: 'PhoneVerification',\r\n mixins: [tfbHelperMixin, tfbDataMixin],\r\n components: {\r\n ValidationObserver,\r\n },\r\n data() {\r\n return {\r\n saveOverlay: false,\r\n enteredVerificationCode: null,\r\n showError: false,\r\n errorMessage: null,\r\n };\r\n },\r\n computed: {\r\n showPhoneVerification: sync('member/showPhoneVerification'),\r\n },\r\n methods: {\r\n onClose() {\r\n this.showPhoneVerification = false;\r\n },\r\n verifyPhone() {\r\n this.saveOverlay = true;\r\n dispatch('member/doPhoneVerification', {\r\n sVerificationCode: this.enteredVerificationCode, sTfbId: this.trackingId,\r\n })\r\n .then((verifyResponse) => {\r\n if (verifyResponse && verifyResponse !== null && verifyResponse !== '') {\r\n this.saveOverlay = false;\r\n this.enteredVerificationCode = null;\r\n this.showPhoneVerification = false;\r\n } else {\r\n this.showError = true;\r\n this.errorMessage = 'Invalid verification code. Please try again.';\r\n this.saveOverlay = false;\r\n this.enteredVerificationCode = '';\r\n }\r\n })\r\n .catch((error) => {\r\n this.showError = true;\r\n this.errorMessage = error;\r\n this.saveOverlay = false;\r\n });\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhoneVerification.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhoneVerification.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PhoneVerification.vue?vue&type=template&id=650f459c\"\nimport script from \"./PhoneVerification.vue?vue&type=script&lang=js\"\nexport * from \"./PhoneVerification.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"max-width\":\"300px\"},model:{value:(_vm.showTextEnable),callback:function ($$v) {_vm.showTextEnable=$$v},expression:\"showTextEnable\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"background-darker-blue\"},[_c('h3',{staticClass:\"tfb-title-text-small\"},[_vm._v(\"Enable Text Messaging\")])]),_c('v-card-text',[_c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" To enable receiving text messages from Texas Farm Bureau, please text the word \\\"START\\\" to \"),_c('a',{attrs:{\"href\":_vm.linkTextStartPhoneNumber}},[_vm._v(_vm._s(_vm._f(\"formatPhone\")(_vm.displayTextStartPhoneNumber)))]),_vm._v(\". \")])],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-dialog v-model=\"showTextEnable\"\r\n max-width=\"300px\">\r\n <v-card>\r\n <v-card-title class=\"background-darker-blue\">\r\n <h3 class=\"tfb-title-text-small\">Enable Text Messaging</h3>\r\n </v-card-title>\r\n <v-card-text>\r\n <v-container>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n To enable receiving text messages from Texas Farm Bureau, please\r\n text the word \"START\" to <a :href=\"linkTextStartPhoneNumber\">{{displayTextStartPhoneNumber | formatPhone}}</a>.\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </v-card-text>\r\n </v-card>\r\n </v-dialog>\r\n</template>\r\n<script>\r\n import { dispatch, sync } from 'vuex-pathify';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'EnableTextDialog',\r\n mixins: [tfbHelperMixin],\r\n data() {\r\n return {\r\n displayTextStartPhoneNumber: '',\r\n linkTextStartPhoneNumber: '',\r\n };\r\n },\r\n computed: {\r\n showTextEnable: sync('member/showTextEnable'),\r\n },\r\n methods: {\r\n getTextPhoneNumber() {\r\n dispatch('app/getConfiguration', { sSection: 'Value', sTitle: 'EnableTextPhoneNumber' })\r\n .then((response) => {\r\n if (response && response !== '') {\r\n this.displayTextStartPhoneNumber = response;\r\n this.linkTextStartPhoneNumber = `sms:+1${response}`;\r\n }\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n },\r\n },\r\n mounted() {\r\n this.getTextPhoneNumber();\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnableTextInstructions.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnableTextInstructions.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./EnableTextInstructions.vue?vue&type=template&id=8cf03e44\"\nimport script from \"./EnableTextInstructions.vue?vue&type=script&lang=js\"\nexport * from \"./EnableTextInstructions.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <v-container fluid\r\n class=\"tfb-smaller-container tfb-component-container\"\r\n v-if=\"contactList.length > 0\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"drop-shadow background-white px-md-10 pb-5\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-small text-uppercase\">\r\n Manage Phone Numbers\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n <phone-verification></phone-verification>\r\n <enable-text-dialog></enable-text-dialog>\r\n <v-data-table :headers=\"phoneHeaders\"\r\n :items=\"contactList\"\r\n :loading=\"phoneLoading\"\r\n hide-default-footer\r\n disable-sort>\r\n <template v-slot:item.TextEnabled=\"{ item }\">\r\n </template>\r\n <template v-slot:item.Verified=\"{ item }\">\r\n <span v-if=\"item.PhoneNumber === null || item.PhoneNumber === ''\">\r\n No\r\n </span>\r\n <span v-else-if=\"!item.TextEnabled && phoneVerificationEnabled === 'Y'\">\r\n <a href=\"\"\r\n v-on:click.prevent=\"showTextEnable = true\">How do I enable texts?</a>\r\n </span>\r\n <span v-else-if=\"!item.Verified && phoneVerificationEnabled === 'Y'\">\r\n <a href=\"\"\r\n v-on:click.prevent=\"sendVerifyPhone(item.MiraId, item.PhoneNumber)\">Click here to verify your phone number</a>\r\n </span>\r\n <span v-else-if=\"item.Verified\">Verified</span>\r\n <span v-else>No</span>\r\n </template>\r\n </v-data-table>\r\n <!-- Update Contact Phone Numbers -->\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form role=\"form\"\r\n name=\"updateContactForm\"\r\n ref=\"updateContactForm\"\r\n @submit.stop.prevent=\"handleSubmit(updatePhoneNumber)\"\r\n v-if=\"contactList && contactList.length > 0 && contactUpdateEnabled === 'Y'\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"4\">\r\n <select-input rules=\"required\"\r\n label=\"Contact Name\"\r\n :items=\"contactList\"\r\n item-text=\"FullName\"\r\n return-object\r\n v-model=\"updateContact\"></select-input>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"4\">\r\n <text-input rules=\"required|phone_number|min:10|max:12\"\r\n autocomplete=\"home tel\"\r\n minlength=\"10\"\r\n maxlength=\"12\"\r\n label=\"New Phone Number\"\r\n v-model=\"updatedPhoneNumber\"\r\n v-mask=\"'###-###-####'\"\r\n :disabled=\"formDisabled\"\r\n type=\"tel\"></text-input>\r\n </v-col>\r\n <v-col cols=\"12\" sm=\"4\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Update Phone Number</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n <!-- Add New Contact -->\r\n <v-row v-if=\"contactUpdateEnabled === 'Y'\">\r\n <v-col cols=\"12\"\r\n sm=\"4\">\r\n <v-btn block\r\n @click=\"addMemberShow()\"\r\n :disabled=\"formDisabled\"\r\n v-show=\"contactList && contactList.length >= 1\"\r\n class=\"tfb-button background-red\">Add New Contact</v-btn>\r\n </v-col>\r\n <v-spacer></v-spacer>\r\n </v-row>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form role=\"form\"\r\n name=\"addContactForm\"\r\n ref=\"addContactForm\"\r\n @submit.stop.prevent=\"handleSubmit(addContact)\"\r\n v-if=\"showPhoneAdd\">\r\n <!-- First Name -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|name|min:2|max:25\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n label=\"First Name\"\r\n v-model=\"firstName\"\r\n autocomplete=\"shipping given-name\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Last Name -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|name|min:2|max:25\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n label=\"Last Name\"\r\n v-model=\"lastName\"\r\n autocomplete=\"shipping family-name\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Relationship -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Relationship to Member\"\r\n :items=\"relationshipOptions\"\r\n item-text=\"Name\"\r\n item-value=\"Id\"\r\n v-model=\"relationship\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Gender -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Gender\"\r\n :items=\"genderOptions\"\r\n item-text=\"Name\"\r\n item-value=\"Id\"\r\n v-model=\"gender\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Birth Date -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-menu ref=\"birthDateMenu\"\r\n v-model=\"birthDateMenu\"\r\n :close-on-content-click=\"false\"\r\n transition=\"scale-transition\"\r\n offset-y\r\n max-width=\"290px\"\r\n min-width=\"290px\">\r\n <template v-slot:activator=\"{ on, attrs }\">\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required\"\r\n name=\"Date of Birth\"\r\n v-slot=\"{ errors, valid }\"\r\n vid=\"birth\">\r\n <v-text-field autocomplete=\"dob\"\r\n outlined\r\n required\r\n readonly\r\n hide-details=\"auto\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n v-model=\"dateOfBirth\"\r\n v-mask=\"'##/##/####'\"\r\n label=\"Date of Birth\"\r\n @change=\"unformattedDateOfBirth = parseDate(dateOfBirth)\"\r\n v-bind=\"attrs\"\r\n v-on=\"on\">\r\n <template v-slot:append>\r\n <v-icon>mdi-calendar</v-icon>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-text-field>\r\n </ValidationProvider>\r\n </template>\r\n <v-date-picker ref=\"picker\"\r\n v-model=\"unformattedDateOfBirth\"\r\n :active-picker.sync=\"dateOfBirthActivePicker\"\r\n color=\"background-blue\"\r\n no-title\r\n @input=\"birthDateMenu = false\"\r\n :max=\"maxDateOfBirth\"\r\n min=\"1920-01-01\"></v-date-picker>\r\n </v-menu>\r\n </v-col>\r\n </v-row>\r\n <!-- Phone Number -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|phone_number|min:10|max:12\"\r\n autocomplete=\"home tel\"\r\n minlength=\"10\"\r\n maxlength=\"12\"\r\n label=\"Phone Number\"\r\n v-model=\"phoneNumber\"\r\n v-mask=\"'###-###-####'\"\r\n type=\"tel\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-spacer></v-spacer>\r\n <v-col cols=\"12\" sm=\"4\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Submit</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n <v-overlay absolute\r\n :value=\"saveOverlay\">\r\n <v-progress-circular indeterminate\r\n size=\"64\"></v-progress-circular>\r\n </v-overlay>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n /* eslint prefer-destructuring: 0 */\r\n /* eslint object-shorthand: 0 */\r\n /* eslint no-unused-vars: 0 */\r\n /* eslint no-underscore-dangle: 0 */\r\n import { subYears } from 'date-fns';\r\n import { dispatch, sync } from 'vuex-pathify';\r\n import { mask } from 'vue-the-mask';\r\n import { ValidationObserver, ValidationProvider } from 'vee-validate';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import { insuredAccessOnlyErrorMessage } from '@/mixins/errorMessages';\r\n import PhoneVerification from './PhoneVerification.vue';\r\n import EnableTextDialog from './EnableTextInstructions.vue';\r\n\r\n export default {\r\n name: 'PhoneNumbers',\r\n mixins: [tfbHelperMixin],\r\n directives: { mask },\r\n props: {\r\n contactList: {\r\n type: Array,\r\n required: true,\r\n },\r\n phoneLoading: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n },\r\n components: {\r\n ValidationObserver,\r\n ValidationProvider,\r\n PhoneVerification,\r\n EnableTextDialog,\r\n },\r\n data() {\r\n return {\r\n saveOverlay: false,\r\n formDisabled: false,\r\n dateOfBirthActivePicker: null,\r\n birthDateMenu: false,\r\n phoneHeaders: [\r\n { text: 'Contact Name', align: 'start', value: 'FullName' },\r\n { text: 'Phone Number', value: 'PhoneNumber' },\r\n { text: 'Verified', value: 'Verified' },\r\n ],\r\n genderOptions: null,\r\n relationshipOptions: null,\r\n firstName: null,\r\n lastName: null,\r\n gender: null,\r\n relationship: null,\r\n unformattedDateOfBirth: null,\r\n phoneNumber: null,\r\n updateContact: null,\r\n updatedPhoneNumber: null,\r\n };\r\n },\r\n computed: {\r\n maxDateOfBirth() {\r\n return this.parseDate(subYears(new Date(), 14).toISOString());\r\n },\r\n dateOfBirth() {\r\n return this.formatDate(this.unformattedDateOfBirth);\r\n },\r\n memberId() {\r\n try {\r\n return this.$store.getters['member/memberId'];\r\n } catch (error) {\r\n return '0';\r\n }\r\n },\r\n memberNumber() {\r\n try {\r\n return this.$store.getters['member/memberNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n phoneVerificationEnabled() {\r\n try {\r\n return this.$store.getters['app/phoneVerificationEnabled'];\r\n } catch (error) {\r\n return 'N';\r\n }\r\n },\r\n contactUpdateEnabled() {\r\n try {\r\n return this.$store.getters['app/contactUpdateEnabled'];\r\n } catch (error) {\r\n return 'N';\r\n }\r\n },\r\n showPhoneVerification: sync('member/showPhoneVerification'),\r\n showPhoneAdd: sync('member/showPhoneAdd'),\r\n showTextEnable: sync('member/showTextEnable'),\r\n },\r\n watch: {\r\n birthDateMenu(val) {\r\n setTimeout(() => { (this.dateOfBirthActivePicker = 'YEAR'); });\r\n },\r\n },\r\n methods: {\r\n getGenderList() {\r\n dispatch('member/getGenders')\r\n .then((response) => {\r\n this.genderOptions = response;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('code 401') >= 0) {\r\n // Session has timed out\r\n this.$router.push({ name: 'policyholderLogin' });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getRelationshipsList() {\r\n dispatch('member/getRelationships')\r\n .then((response) => {\r\n this.relationshipOptions = response;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('code 401') >= 0) {\r\n // Session has timed out\r\n this.$router.push({ name: 'policyholderLogin' });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n addMemberShow() {\r\n this.showPhoneAdd = !this.showPhoneAdd;\r\n\r\n if (this.genderOptions === null || this.genderOptions.length < 1) {\r\n this.getGenderList();\r\n }\r\n\r\n if (this.getRelationshipsList === null || this.getRelationshipsList.length < 1) {\r\n this.getRelationshipsList();\r\n }\r\n },\r\n onClose() {\r\n this.showPhoneVerification = false;\r\n this.showPhoneAdd = false;\r\n },\r\n sendVerifyPhone(miraId, phoneNumber) {\r\n dispatch('app/clearErrorMessage');\r\n if (!this.isMemberRole) {\r\n // Not the member, don't allow changes\r\n this.$store.dispatch('app/setErrorMessage', insuredAccessOnlyErrorMessage);\r\n } else {\r\n this.saveOverlay = true;\r\n dispatch('member/sendPhoneVerification', {\r\n sMiraId: miraId, sOnlineAccountId: this.memberId, sPhoneNumber: phoneNumber, sMemberNumber: this.memberNumber, sTfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n // Verification sent\r\n this.showPhoneVerification = true;\r\n this.saveOverlay = false;\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error);\r\n this.saveOverlay = false;\r\n });\r\n }\r\n },\r\n updatePhoneNumber() {\r\n dispatch('app/clearErrorMessage');\r\n this.phoneSuccess = false;\r\n this.saveOverlay = true;\r\n dispatch('member/updatePhoneNumber', {\r\n sMiraId: this.updateContact.MiraId, sPhoneNumber: this.updatedPhoneNumber, sMemberNumber: this.memberNumber, sTfbId: this.trackingId,\r\n })\r\n .then((updateResponse) => {\r\n if (updateResponse && updateResponse === true) {\r\n // Update was successful\r\n this.updatedPhoneNumber = null;\r\n this.updateContact = null;\r\n\r\n // Refresh the phone number list\r\n dispatch('member/getPhoneNumbers', { sMemberNumber: this.memberNumber, sTfbId: this.trackingId });\r\n } else {\r\n dispatch('app/setErrorMessage', 'Unable to update phone number. Please verify the phone number and try again.');\r\n }\r\n this.saveOverlay = false;\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error);\r\n this.saveOverlay = false;\r\n });\r\n },\r\n addContact() {\r\n dispatch('app/clearErrorMessage');\r\n this.saveOverlay = true;\r\n dispatch('member/addContact', {\r\n sMemberNumber: this.memberNumber,\r\n sFirstName: this.firstName,\r\n sLastName: this.lastName,\r\n sRelationship: this.relationship,\r\n sDateOfBirth: this.unformattedDateOfBirth,\r\n sPhoneNumber: this.phoneNumber,\r\n sGender: this.gender,\r\n sTfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n // Update was successful\r\n this.showPhoneAdd = false;\r\n\r\n // Clear the form values\r\n this.memberNumber = null;\r\n this.firstName = null;\r\n this.lastName = null;\r\n this.relationship = null;\r\n this.unformattedDateOfBirth = null;\r\n this.phoneNumber = null;\r\n this.gender = null;\r\n\r\n // Refresh the phone number list\r\n dispatch('member/getPhoneNumbers', { sMemberNumber: this.memberNumber, sTfbId: this.trackingId });\r\n this.saveOverlay = false;\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error);\r\n this.saveOverlay = false;\r\n });\r\n },\r\n },\r\n mounted() {\r\n if (!this.isMemberRole) {\r\n // Not the member, don't allow changes\r\n this.formDisabled = true;\r\n }\r\n this.showPhoneAdd = false;\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhoneNumber.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhoneNumber.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PhoneNumber.vue?vue&type=template&id=4e4470ef\"\nimport script from \"./PhoneNumber.vue?vue&type=script&lang=js\"\nexport * from \"./PhoneNumber.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-smaller-container tfb-component-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"drop-shadow background-white px-md-10 pb-5\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-small text-uppercase\"},[_vm._v(\" Change Password \")])])],1),(_vm.passwordSuccess)?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_c('v-alert',{attrs:{\"type\":\"success\"}},[_vm._v(\" You have successfully changed your account password. \")])],1)],1):_vm._e(),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [(!_vm.passwordSuccess)?_c('v-form',{attrs:{\"role\":\"form\"},on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.updatePassword)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|all_allowed|min:16|max:99|confirmed:password|hasMoreThanNConcurrentLetters:2|hasNUppercaseLetters:1|hasNNumbers:2\",\"minlength\":\"16\",\"maxlength\":\"99\",\"label\":\"New Password\",\"type\":\"password\",\"autocomplete\":\"new-password\",\"disabled\":_vm.formDisabled},model:{value:(_vm.passWord),callback:function ($$v) {_vm.passWord=$$v},expression:\"passWord\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:16|max:99\",\"minlength\":\"16\",\"maxlength\":\"99\",\"label\":\"Confirm New Password\",\"type\":\"password\",\"autocomplete\":\"new-password\",\"disabled\":_vm.formDisabled,\"vid\":\"password\"},model:{value:(_vm.confirmPassWord),callback:function ($$v) {_vm.confirmPassWord=$$v},expression:\"confirmPassWord\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\"Submit\")])],1)],1)],1):_vm._e()]}}])}),_c('v-overlay',{attrs:{\"absolute\":\"\",\"value\":_vm.saveOverlay}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-smaller-container tfb-component-container\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"drop-shadow background-white px-md-10 pb-5\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-small text-uppercase\">\r\n Change Password\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"passwordSuccess\">\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <v-alert type=\"success\">\r\n You have successfully changed your account password.\r\n </v-alert>\r\n </v-col>\r\n </v-row>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form role=\"form\"\r\n @submit.stop.prevent=\"handleSubmit(updatePassword)\"\r\n v-if=\"!passwordSuccess\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|all_allowed|min:16|max:99|confirmed:password|hasMoreThanNConcurrentLetters:2|hasNUppercaseLetters:1|hasNNumbers:2\"\r\n minlength=\"16\"\r\n maxlength=\"99\"\r\n label=\"New Password\"\r\n v-model=\"passWord\"\r\n type=\"password\"\r\n autocomplete=\"new-password\"\r\n :disabled=\"formDisabled\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:16|max:99\"\r\n minlength=\"16\"\r\n maxlength=\"99\"\r\n label=\"Confirm New Password\"\r\n v-model=\"confirmPassWord\"\r\n type=\"password\"\r\n autocomplete=\"new-password\"\r\n :disabled=\"formDisabled\"\r\n vid=\"password\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n md=\"4\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Submit</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n <v-overlay absolute\r\n :value=\"saveOverlay\">\r\n <v-progress-circular indeterminate\r\n size=\"64\"></v-progress-circular>\r\n </v-overlay>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import { ValidationObserver } from 'vee-validate';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'PasswordChanges',\r\n mixins: [tfbHelperMixin],\r\n components: {\r\n ValidationObserver,\r\n },\r\n data() {\r\n return {\r\n saveOverlay: false,\r\n formDisabled: false,\r\n currentPassWord: '',\r\n passWord: '',\r\n confirmPassWord: '',\r\n passwordSuccess: false,\r\n };\r\n },\r\n computed: {\r\n userName() {\r\n try {\r\n return this.$store.getters['member/userName'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n },\r\n methods: {\r\n updatePassword() {\r\n this.passwordSuccess = false;\r\n this.saveOverlay = true;\r\n dispatch('member/updatePassword', { sUserName: this.userName, sNewPassword: this.passWord, sTfbId: this.trackingId })\r\n .then((updateResponse) => {\r\n if (updateResponse && updateResponse.indexOf('Your password has been updated') >= 0) {\r\n // Update was successful\r\n this.passwordSuccess = true;\r\n this.saveOverlay = false;\r\n } else {\r\n dispatch('app/setErrorMessage', updateResponse);\r\n this.saveOverlay = false;\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error);\r\n this.saveOverlay = false;\r\n });\r\n },\r\n },\r\n mounted() {\r\n if (!this.isMemberRole) {\r\n // Not the member, don't allow changes\r\n this.formDisabled = true;\r\n }\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Password.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Password.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Password.vue?vue&type=template&id=3d0f2efb\"\nimport script from \"./Password.vue?vue&type=script&lang=js\"\nexport * from \"./Password.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.eligiblePolicies.length > 0)?_c('v-container',{staticClass:\"tfb-smaller-container tfb-component-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"drop-shadow background-white px-md-10 pb-5\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.textEligible !== null)?_c('h2',{staticClass:\"tfb-title-text-small text-uppercase\"},[_vm._v(\" E-bill Paperless Billing and Text Message Notifications \")]):_c('h2',{staticClass:\"tfb-title-text-small text-uppercase\"},[_vm._v(\" E-bill Paperless Billing \")])])],1),(_vm.showEnrollmentMessage)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold text-blue\"},[_vm._v(\"Why should you consider enrolling in E-bill Paperless Billing?\")]),_c('ul',[_c('li',[_vm._v(\"Convenient email notifications let you know when it's time to pay\")]),_c('li',[_vm._v(\"24/7 access to your account anytime/anywhere\")]),_c('li',[_vm._v(\"View your current and past bills online, while still having the option to print when necessary\")]),_c('li',[_vm._v(\"Reduce money spent for stamps, envelopes, and checks\")]),_c('li',[_vm._v(\"Reduce clutter in your home and in your mailbox\")]),_c('li',[_vm._v(\"Conserve Earth's natural resources by reducing paper output\")])])])],1):_vm._e(),(!_vm.emailVerified && !_vm.phoneVerified && _vm.textEligible !== null)?_c('v-row',[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_vm._v(\" To activate E-bill Paperless Billing or Text Message Notifications on eligible policies or Master Accounts, please first verify your \"),_c('a',{attrs:{\"href\":\"#email\"}},[_vm._v(\"email address\")]),_vm._v(\" or \"),_c('a',{attrs:{\"href\":\"#phone\"}},[_vm._v(\"phone number\")]),_vm._v(\". \")])],1):(!_vm.emailVerified)?_c('v-row',[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_vm._v(\" To activate E-bill Paperless Billing on eligible policies or Master Accounts, please first \"),_c('a',{attrs:{\"href\":\"#email\"}},[_vm._v(\"verify your email address\")]),_vm._v(\". \")])],1):(!_vm.phoneVerified && _vm.textEligible !== null && _vm.phoneVerificationEnabled === 'Y')?_c('v-row',[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_vm._v(\" To activate Text Notifications on eligible policies or Master Accounts, please first \"),_c('a',{attrs:{\"href\":\"#phone\"}},[_vm._v(\"verify at least one phone number\")]),_vm._v(\". \")])],1):_vm._e(),(_vm.emailVerified)?_c('v-row',[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(\"E-bill Paperless Billing Notifications will be sent to: \")]),_vm._v(_vm._s(_vm.emailAddress)+\" \")])],1):_vm._e(),(_vm.phoneVerified || _vm.emailVerified)?_c('ValidationObserver',{ref:\"obvEbill\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [_c('v-form',{ref:\"ebillForm\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.changeEbill)}}},[_c('v-row',[(_vm.filteredPhoneNumbers && _vm.filteredPhoneNumbers !== null && _vm.filteredPhoneNumbers.length > 0)?_c('v-col',{staticClass:\"body-2\",attrs:{\"cols\":\"12\"}},[_vm._v(\" Please select E-bill paperless and text notifications options below. If you select text notifications only, you will continue to receive billing statements by mail. \")]):_vm._e()],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.eBillHeaders,\"items\":_vm.eligiblePolicies,\"loading\":_vm.ebillLoading,\"no-results-text\":_vm.noResultsText,\"no-data-text\":_vm.noResultsText,\"hide-default-footer\":\"\",\"disable-sort\":\"\"},scopedSlots:_vm._u([{key:\"item.PolicyDescription\",fn:function({ item }){return [_c('span',{domProps:{\"innerHTML\":_vm._s(item.PolicyDescription)}})]}},{key:\"item.NewEbill\",fn:function({ item }){return [(_vm.emailVerified && item.AllowChange && item.AllowEbill)?_c('v-simple-checkbox',{attrs:{\"value\":item.OriginalEbill,\"ripple\":false},model:{value:(item.NewEbill),callback:function ($$v) {_vm.$set(item, \"NewEbill\", $$v)},expression:\"item.NewEbill\"}}):(!item.AllowChange && item.AllowEbill)?_c('span',[_vm._v(\" \"+_vm._s(item.MemberEmailAddress)+\" \")]):_vm._e()]}},{key:\"item.NewPhone\",fn:function({ item }){return [(_vm.phoneVerified && item.AllowChange && item.AllowText && _vm.filteredPhoneNumbers.length > 0)?_c('td',[_c('select-input',{attrs:{\"label\":\"Phone Number\",\"items\":_vm.filteredPhoneNumbers,\"item-text\":\"PhoneNumber\",\"item-value\":\"MiraId\",\"return-object\":\"\",\"dense\":\"\"},model:{value:(item.NewPhone),callback:function ($$v) {_vm.$set(item, \"NewPhone\", $$v)},expression:\"item.NewPhone\"}})],1):_c('td',[_vm._v(\" \"+_vm._s(_vm._f(\"formatPhone\")(item.MemberPhoneNumber))+\" \")])]}}],null,true)})],1)],1),(!_vm.hasChanges)?_c('v-row',[_c('v-col',{staticClass:\"v-messages theme--light error--text\",attrs:{\"cols\":\"12\"}},[_vm._v(\" Please make one or more changes to E-bill Paperless Billing and/or Text Message Notification enrollment before submitting. \")])],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"sm\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\"Submit\")])],1)],1)],1)]}}],null,false,2152120920)}):_vm._e(),_c('v-overlay',{attrs:{\"absolute\":\"\",\"value\":_vm.saveOverlay}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1)],1)],1)],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-smaller-container tfb-component-container\"\r\n v-if=\"eligiblePolicies.length > 0\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"drop-shadow background-white px-md-10 pb-5\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h2 v-if=\"textEligible !== null\"\r\n class=\"tfb-title-text-small text-uppercase\">\r\n E-bill Paperless Billing and Text Message Notifications\r\n </h2>\r\n <h2 v-else\r\n class=\"tfb-title-text-small text-uppercase\">\r\n E-bill Paperless Billing\r\n </h2>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"showEnrollmentMessage\">\r\n <v-col cols=\"12\">\r\n <span class=\"font-weight-bold text-blue\">Why should you consider enrolling in E-bill Paperless Billing?</span>\r\n <ul>\r\n <li>Convenient email notifications let you know when it's time to pay</li>\r\n <li>24/7 access to your account anytime/anywhere</li>\r\n <li>View your current and past bills online, while still having the option to print when necessary</li>\r\n <li>Reduce money spent for stamps, envelopes, and checks</li>\r\n <li>Reduce clutter in your home and in your mailbox</li>\r\n <li>Conserve Earth's natural resources by reducing paper output</li>\r\n </ul>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"!emailVerified && !phoneVerified && textEligible !== null\">\r\n <v-col cols=\"12\"\r\n class=\"text-center\">\r\n To activate E-bill Paperless Billing or Text Message Notifications on eligible policies or Master Accounts, please first\r\n verify your <a href=\"#email\">email address</a> or <a href=\"#phone\">phone number</a>.\r\n </v-col>\r\n </v-row>\r\n <v-row v-else-if=\"!emailVerified\">\r\n <v-col cols=\"12\"\r\n class=\"text-center\">\r\n To activate E-bill Paperless Billing on eligible policies or Master Accounts, please first\r\n <a href=\"#email\">verify your email address</a>.\r\n </v-col>\r\n </v-row>\r\n <v-row v-else-if=\"!phoneVerified && textEligible !== null && phoneVerificationEnabled === 'Y'\">\r\n <v-col cols=\"12\"\r\n class=\"text-center\">\r\n To activate Text Notifications on eligible policies or Master Accounts, please first\r\n <a href=\"#phone\">verify at least one phone number</a>.\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"emailVerified\">\r\n <v-col cols=\"12\"\r\n class=\"text-center\">\r\n <strong>E-bill Paperless Billing Notifications will be sent to: </strong>{{emailAddress}}\r\n </v-col>\r\n </v-row>\r\n <ValidationObserver ref=\"obvEbill\"\r\n v-if=\"phoneVerified || emailVerified\"\r\n v-slot=\"{ handleSubmit }\">\r\n <v-form ref=\"ebillForm\"\r\n @submit.stop.prevent=\"handleSubmit(changeEbill)\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"body-2\"\r\n v-if=\"filteredPhoneNumbers && filteredPhoneNumbers !== null && filteredPhoneNumbers.length > 0\">\r\n Please select E-bill paperless and text notifications options below. If you select text notifications only, you will continue to receive billing statements by mail.\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-data-table :headers=\"eBillHeaders\"\r\n :items=\"eligiblePolicies\"\r\n :loading=\"ebillLoading\"\r\n :no-results-text=\"noResultsText\"\r\n :no-data-text=\"noResultsText\"\r\n hide-default-footer\r\n disable-sort>\r\n <template v-slot:item.PolicyDescription=\"{ item }\">\r\n <span v-html=\"item.PolicyDescription\"></span>\r\n </template>\r\n <template v-slot:item.NewEbill=\"{ item }\">\r\n <v-simple-checkbox v-if=\"emailVerified && item.AllowChange && item.AllowEbill\"\r\n v-model=\"item.NewEbill\"\r\n :value=\"item.OriginalEbill\"\r\n :ripple=\"false\"></v-simple-checkbox>\r\n <span v-else-if=\"!item.AllowChange && item.AllowEbill\">\r\n {{ item.MemberEmailAddress }}\r\n </span>\r\n </template>\r\n <template v-slot:item.NewPhone=\"{ item }\">\r\n <td v-if=\"phoneVerified && item.AllowChange && item.AllowText && filteredPhoneNumbers.length > 0\">\r\n <select-input label=\"Phone Number\"\r\n :items=\"filteredPhoneNumbers\"\r\n item-text=\"PhoneNumber\"\r\n item-value=\"MiraId\"\r\n v-model=\"item.NewPhone\"\r\n return-object\r\n dense></select-input>\r\n </td>\r\n <td v-else>\r\n {{ item.MemberPhoneNumber | formatPhone }}\r\n </td>\r\n </template>\r\n </v-data-table>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"!hasChanges\">\r\n <v-col cols=\"12\"\r\n class=\"v-messages theme--light error--text\">\r\n Please make one or more changes to E-bill Paperless Billing and/or Text Message Notification enrollment before submitting.\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n sm=\"6\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Submit</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n <v-overlay absolute\r\n :value=\"saveOverlay\">\r\n <v-progress-circular indeterminate\r\n size=\"64\"></v-progress-circular>\r\n </v-overlay>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n /* eslint no-unused-vars: 0 */\r\n import _ from 'lodash';\r\n import { dispatch, sync } from 'vuex-pathify';\r\n import { ValidationObserver } from 'vee-validate';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'EbillChanges',\r\n props: {\r\n contactList: {\r\n type: Array,\r\n required: true,\r\n },\r\n policyList: {\r\n type: Array,\r\n required: true,\r\n },\r\n abList: {\r\n type: Array,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n components: {\r\n ValidationObserver,\r\n },\r\n data() {\r\n return {\r\n showEnrollmentMessage: true,\r\n saveOverlay: false,\r\n formDisabled: false,\r\n eligiblePolicies: [],\r\n changedPolicies: [],\r\n ebillLoading: true,\r\n hasChanges: true,\r\n noResultsText: null,\r\n eBillHeaders: [\r\n { text: 'Policy Type', align: 'start', value: 'PolicyDescription' },\r\n { text: 'Policy', value: 'PolicyNumber' },\r\n { text: 'E-bill Paperless', value: 'NewEbill' },\r\n ],\r\n emptyPhoneNumber: {\r\n ContactId: '',\r\n MiraId: 0,\r\n PhoneNumber: 'Not Enrolled',\r\n FullName: 'Not Enrolled',\r\n TextEnabled: true,\r\n Verified: true,\r\n },\r\n };\r\n },\r\n computed: {\r\n memberId() {\r\n try {\r\n return this.$store.getters['member/memberId'];\r\n } catch (error) {\r\n return '0';\r\n }\r\n },\r\n memberNumber() {\r\n try {\r\n return this.$store.getters['member/memberNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n emailAddress() {\r\n try {\r\n return this.$store.getters['member/emailAddress'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n emailVerified() {\r\n try {\r\n return this.$store.getters['member/verifiedIndicator'];\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n phoneVerified() {\r\n try {\r\n if (!this.contactList || this.contactList === null || this.contactList.length <= 0) return false;\r\n if (this.contactList.filter(c => c.Verified === true && c.TextEnabled === true).length > 0) return true;\r\n return false;\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n filteredPhoneNumbers() {\r\n if (!this.contactList || this.contactList === null || this.contactList.length <= 0) return this.contactList;\r\n const builtPhoneNumbers = this.contactList.filter(c => c.Verified === true && c.TextEnabled === true);\r\n\r\n if (builtPhoneNumbers.length > 0) {\r\n builtPhoneNumbers.push(this.emptyPhoneNumber);\r\n }\r\n\r\n return builtPhoneNumbers;\r\n },\r\n phoneVerificationEnabled() {\r\n try {\r\n return this.$store.getters['app/phoneVerificationEnabled'];\r\n } catch (error) {\r\n return 'N';\r\n }\r\n },\r\n contactUpdateEnabled() {\r\n try {\r\n return this.$store.getters['app/contactUpdateEnabled'];\r\n } catch (error) {\r\n return 'N';\r\n }\r\n },\r\n textEligible: sync('app/textEligible'),\r\n },\r\n watch: {\r\n contactList(val) {\r\n this.buildEbill();\r\n },\r\n },\r\n mounted() {\r\n // Check to see if E-bill application is enabled\r\n this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'Ebill', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus === '') {\r\n if (this.policyList === null || this.policyList.length <= 0) {\r\n // Go fetch the policy list again\r\n this.getAccountSummary();\r\n this.getAccountBillSummary();\r\n this.buildEbill();\r\n } else {\r\n this.buildEbill();\r\n }\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', returnedStatus);\r\n this.formDisabled = true;\r\n this.ebillLoading = false;\r\n }\r\n\r\n if (!this.isMemberRole) {\r\n // Not the member, don't allow changes\r\n this.formDisabled = true;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.ebillLoading = false;\r\n });\r\n },\r\n methods: {\r\n getAccountSummary() {\r\n dispatch('policy/getAccountSummary', { sMemberNumber: this.memberNumber, sTfbId: this.trackingId })\r\n .then((accountSummaryResponse) => {\r\n this.policyList = accountSummaryResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('app/setIsLoading', true);\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n }\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getAccountBillSummary() {\r\n dispatch('payments/getAccountBillInformation', { sMemberNumber: this.memberNumber, sTfbId: this.trackingId })\r\n .then((accountBillSummaryResponse) => {\r\n this.abList = accountBillSummaryResponse;\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n policyEbillEligibilityCheck(policy, policyTypeSplit) {\r\n return policy && policy !== null && policy.EBillFlag !== 'X' && policy.PolicyType === policyTypeSplit[0]\r\n && policy.PolicySubType === policyTypeSplit[1] && policy.PolicyStatus === 'ACTIVE';\r\n },\r\n getCurrentEbillInformation(policyNumber, policyType) {\r\n return new Promise((resolve) => {\r\n dispatch('payments/getEbillInformation', {\r\n sMemberNumber: this.memberNumber, sPolicyNumber: policyNumber, sPolicyType: policyType, sTfbId: this.trackingId,\r\n })\r\n .then((ebillResult) => {\r\n resolve(ebillResult);\r\n })\r\n .catch(() => {\r\n resolve(null);\r\n });\r\n });\r\n },\r\n getEbillLimits() {\r\n return new Promise((resolve) => {\r\n // Get the policy types/subtypes allowed on E-bill\r\n dispatch('app/getFeatureFlag', { sTitle: 'AllowedEbill' })\r\n .then((allowedEbill) => {\r\n resolve(allowedEbill);\r\n })\r\n .catch(() => {\r\n resolve(null);\r\n });\r\n });\r\n },\r\n getTextLimits() {\r\n return new Promise((resolve) => {\r\n // Get the policy types/subtypes allowed on Text\r\n this.$store.dispatch('app/getFeatureFlag', { sTitle: 'AllowedEbillTextNotify' })\r\n .then((allowedText) => {\r\n if (allowedText && allowedText !== null && allowedText.length > 0) {\r\n dispatch('app/setTextEligible', allowedText);\r\n resolve(allowedText);\r\n }\r\n resolve(null);\r\n })\r\n .catch(() => {\r\n resolve(null);\r\n });\r\n });\r\n },\r\n buildEbill() {\r\n this.ebillLoading = true;\r\n this.eligiblePolicies = [];\r\n if (this.policyList && this.policyList.length > 0) {\r\n this.getEbillLimits()\r\n .then((foundLimits) => {\r\n // Are there policy types allowed on E-bill?\r\n if (foundLimits !== null && foundLimits.length > 0) {\r\n // E-bill enabled; Getting the text limits again because I can't guarantee textEligible will be set at this point\r\n this.getTextLimits()\r\n .then((textLimits) => {\r\n // Is the text enrollment column already added?\r\n if (this.eBillHeaders.length > 3) {\r\n // Remove the last column/row\r\n this.eBillHeaders.pop();\r\n }\r\n\r\n if (textLimits !== null && textLimits.length > 0) {\r\n this.eBillHeaders.push({ text: 'Text Notifications', value: 'NewPhone' });\r\n } else {\r\n this.eBillHeaders.push({ text: '', value: 'NewPhone' });\r\n }\r\n\r\n // Get E-bill policies\r\n this.buildEbillPolicy(foundLimits, textLimits)\r\n .then(() => {\r\n // Get E-bill Master Accounts\r\n this.buildEbillAccountBill(textLimits)\r\n .then(() => {\r\n if (this.eligiblePolicies && this.eligiblePolicies.length <= 0) {\r\n this.noResultsText = 'No policies currently eligible';\r\n }\r\n this.ebillLoading = false;\r\n });\r\n });\r\n });\r\n } else {\r\n // E-bill not enabled\r\n this.noResultsText = 'E-bill not available';\r\n this.ebillLoading = false;\r\n }\r\n });\r\n } else {\r\n // No policies found\r\n this.noResultsText = 'No policies available';\r\n this.ebillLoading = false;\r\n }\r\n },\r\n buildEbillPolicy(allowedEbill, allowedText) {\r\n return new Promise((resolve) => {\r\n this.eligiblePolicies = [];\r\n // Split the string to find the policyType-policySubType strings for E-bill\r\n const allowedEbillSplit = allowedEbill.split(',');\r\n\r\n // Loop through list of allowed E-bill Policy types\r\n for (let a = 0; a < allowedEbillSplit.length; a += 1) {\r\n if (allowedEbillSplit[a]) {\r\n const ebillPolicyTypeSplit = allowedEbillSplit[a].split('-');\r\n\r\n // Loop through the list of policies to see if any are eligible\r\n for (let p = 0; p < this.policyList.length; p += 1) {\r\n const policy = this.policyList[p];\r\n\r\n // Is this an eligible policy?\r\n if (this.policyEbillEligibilityCheck(policy, ebillPolicyTypeSplit)) {\r\n // This is an eligible policy\r\n let allowTextEnroll = false;\r\n\r\n // Is text allowed?\r\n if (allowedText && allowedText !== null && allowedText !== '') {\r\n // Split the string to find the policyType-policySubType strings for Text\r\n const allowedTextSplit = allowedText.split(',');\r\n\r\n // Loop through list of allowed Text Policy types\r\n for (let t = 0; t < allowedTextSplit.length; t += 1) {\r\n if (allowedTextSplit[t]) {\r\n const textPolicyTypeSplit = allowedTextSplit[t].split('-');\r\n if (policy.PolicyType === textPolicyTypeSplit[0] && policy.PolicySubType === textPolicyTypeSplit[1] && policy.PolicyStatus === 'ACTIVE') {\r\n allowTextEnroll = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Is this policy already enrolled in E-bill?\r\n if (policy.EBillFlag === 'Y') {\r\n // There is at least one policy already on E-bill, so don't show the reasons why to enroll\r\n this.showEnrollmentMessage = false;\r\n\r\n // Get the existing E-bill enrollment information\r\n this.getCurrentEbillInformation(policy.PolicyNumber, policy.PolicyType)\r\n .then((ebillResult) => {\r\n if (ebillResult && ebillResult !== null && (ebillResult.ErrorMessage === null || ebillResult.ErrorMessage === '')) {\r\n let textEnrollment = null;\r\n // Was a MIRA id included?\r\n if (ebillResult.MiraId !== null && ebillResult.MiraId !== 0 && ebillResult.MiraId !== '0' && ebillResult.EnrollmentType !== 'EML') {\r\n for (let e = 0; e < this.contactList.length; e += 1) {\r\n // Is the MIRA id included in the current list of contacts?\r\n if (this.contactList[e] && this.contactList[e].MiraId && ebillResult.MiraId && this.contactList[e].MiraId.toString() === ebillResult.MiraId.toString()) {\r\n textEnrollment = this.contactList[e];\r\n }\r\n }\r\n }\r\n\r\n if (this.memberId.toString().trim() === ebillResult.MemberId.toString().trim()) {\r\n // Same member that signed up\r\n this.eligiblePolicies.push({\r\n PolicyNumber: policy.PolicyNumber,\r\n PolicyType: policy.PolicyType,\r\n PolicyDescription: policy.PolicyDescription,\r\n AllowChange: true,\r\n AllowEbill: true,\r\n AllowText: allowTextEnroll,\r\n MemberEmailAddress: this.emailAddress,\r\n MemberPhoneNumber: textEnrollment === null ? '' : ebillResult.MemberPhoneNumber,\r\n OriginalEbill: (ebillResult.EnrollmentType === 'BOTH' || ebillResult.EnrollmentType === 'EML'),\r\n NewEbill: (ebillResult.EnrollmentType === 'BOTH' || ebillResult.EnrollmentType === 'EML'),\r\n OriginalPhone: textEnrollment === null ? this.emptyPhoneNumber : textEnrollment,\r\n NewPhone: textEnrollment === null ? this.emptyPhoneNumber : textEnrollment,\r\n MemberInitials: '',\r\n });\r\n\r\n // Make sure the policy is only in the array once\r\n this.eligiblePolicies = _.uniqBy(this.eligiblePolicies, 'PolicyNumber');\r\n } else {\r\n // The signed up member is different\r\n this.eligiblePolicies.push({\r\n PolicyNumber: policy.PolicyNumber,\r\n PolicyType: policy.PolicyType,\r\n PolicyDescription: policy.PolicyDescription,\r\n AllowChange: false,\r\n AllowEbill: true,\r\n AllowText: allowTextEnroll,\r\n MemberEmailAddress: ebillResult.MemberEmailAddress,\r\n MemberPhoneNumber: textEnrollment === null ? '' : ebillResult.MemberPhoneNumber,\r\n OriginalEbill: (ebillResult.EnrollmentType === 'BOTH' || ebillResult.EnrollmentType === 'EML'),\r\n NewEbill: (ebillResult.EnrollmentType === 'BOTH' || ebillResult.EnrollmentType === 'EML'),\r\n OriginalPhone: textEnrollment === null ? this.emptyPhoneNumber : textEnrollment,\r\n NewPhone: textEnrollment === null ? this.emptyPhoneNumber : textEnrollment,\r\n MemberInitials: '',\r\n });\r\n\r\n // Make sure the policy is only in the array once\r\n this.eligiblePolicies = _.uniqBy(this.eligiblePolicies, 'PolicyNumber');\r\n }\r\n } else {\r\n // Error message or no record returned, so don't allow changes\r\n this.eligiblePolicies.push({\r\n PolicyNumber: policy.PolicyNumber,\r\n PolicyType: policy.PolicyType,\r\n PolicyDescription: policy.PolicyDescription,\r\n AllowChange: false,\r\n AllowEbill: true,\r\n AllowText: allowTextEnroll,\r\n MemberEmailAddress: 'Unable to locate enrollment',\r\n MemberPhoneNumber: 'Unable to locate enrollment',\r\n OriginalEbill: false,\r\n NewEbill: false,\r\n OriginalPhone: this.emptyPhoneNumber,\r\n NewPhone: this.emptyPhoneNumber,\r\n MemberInitials: '',\r\n });\r\n\r\n // Make sure the policy is only in the array once\r\n this.eligiblePolicies = _.uniqBy(this.eligiblePolicies, 'PolicyNumber');\r\n }\r\n })\r\n .catch(() => {\r\n // Error getting the current information, so don't allow changes\r\n this.eligiblePolicies.push({\r\n PolicyNumber: policy.PolicyNumber,\r\n PolicyType: policy.PolicyType,\r\n PolicyDescription: policy.PolicyDescription,\r\n AllowChange: false,\r\n AllowEbill: true,\r\n AllowText: allowTextEnroll,\r\n MemberEmailAddress: 'Error locating enrollment',\r\n MemberPhoneNumber: 'Error locating enrollment',\r\n OriginalEbill: false,\r\n NewEbill: false,\r\n OriginalPhone: this.emptyPhoneNumber,\r\n NewPhone: this.emptyPhoneNumber,\r\n MemberInitials: '',\r\n });\r\n\r\n // Make sure the policy is only in the array once\r\n this.eligiblePolicies = _.uniqBy(this.eligiblePolicies, 'PolicyNumber');\r\n });\r\n } else if (policy.EBillFlag === 'N') {\r\n // Not already enrolled; Add the eligible policy to the list\r\n this.eligiblePolicies.push({\r\n PolicyNumber: policy.PolicyNumber,\r\n PolicyType: policy.PolicyType,\r\n PolicyDescription: policy.PolicyDescription,\r\n AllowChange: true,\r\n AllowEbill: true,\r\n AllowText: allowTextEnroll,\r\n MemberEmailAddress: this.emailAddress,\r\n MemberPhoneNumber: '',\r\n OriginalEbill: false,\r\n NewEbill: false,\r\n OriginalPhone: this.emptyPhoneNumber,\r\n NewPhone: this.emptyPhoneNumber,\r\n MemberInitials: '',\r\n });\r\n\r\n // Make sure the policy is only in the array once\r\n this.eligiblePolicies = _.uniqBy(this.eligiblePolicies, 'PolicyNumber');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n resolve('');\r\n });\r\n },\r\n buildEbillAccountBill(allowedText) {\r\n return new Promise((resolve) => {\r\n if (this.abList && this.abList.length > 0) {\r\n // Loop through the list of AB to see if any are eligible\r\n for (let p = 0; p < this.abList.length; p += 1) {\r\n const accountBill = this.abList[p];\r\n\r\n // Is this an eligible policy?\r\n if (accountBill && accountBill !== null) {\r\n // This is an eligible policy\r\n let allowTextEnroll = false;\r\n\r\n // Is text allowed?\r\n if (allowedText && allowedText !== null && allowedText !== '') {\r\n // Split the string to find the policyType-policySubType strings for Text\r\n const allowedTextSplit = allowedText.split(',');\r\n\r\n // Loop through list of allowed Text Policy types\r\n for (let t = 0; t < allowedTextSplit.length; t += 1) {\r\n if (allowedTextSplit[t]) {\r\n const textPolicyTypeSplit = allowedTextSplit[t].split('-');\r\n if (textPolicyTypeSplit[0] === 'AB') {\r\n allowTextEnroll = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (accountBill.EbillStatus === 'Y') {\r\n // There is at least one policy already on E-bill, so don't show the reasons why to enroll\r\n this.showEnrollmentMessage = false;\r\n\r\n // Get the existing E-bill enrollment information\r\n this.getCurrentEbillInformation(accountBill.MasterAccountNumber, 'AB')\r\n .then((ebillResult) => {\r\n if (ebillResult && ebillResult !== null && ebillResult.ErrorMessage === null) {\r\n let textEnrollment = null;\r\n if (ebillResult.MiraId !== null && ebillResult.MiraId !== 0 && ebillResult.EnrollmentType !== 'EML') {\r\n for (let e = 0; e < this.contactList.length; e += 1) {\r\n if (this.contactList[e] && this.contactList[e].MiraId === ebillResult.MiraId) {\r\n textEnrollment = this.contactList[e];\r\n }\r\n }\r\n }\r\n\r\n if (this.memberId !== ebillResult.MemberId) {\r\n // The signed up member is different\r\n this.eligiblePolicies.push({\r\n PolicyNumber: accountBill.MasterAccountNumber,\r\n PolicyType: 'AB',\r\n PolicyDescription: accountBill.Description,\r\n AllowChange: false,\r\n AllowEbill: true,\r\n AllowText: allowTextEnroll,\r\n MemberEmailAddress: ebillResult.MemberEmailAddress,\r\n MemberPhoneNumber: ebillResult.MemberPhoneNumber,\r\n OriginalEbill: (ebillResult.EnrollmentType === 'BOTH' || ebillResult.EnrollmentType === 'EML'),\r\n NewEbill: (ebillResult.EnrollmentType === 'BOTH' || ebillResult.EnrollmentType === 'EML'),\r\n OriginalPhone: textEnrollment === null ? this.emptyPhoneNumber : textEnrollment,\r\n NewPhone: textEnrollment === null ? this.emptyPhoneNumber : textEnrollment,\r\n MemberInitials: '',\r\n });\r\n\r\n // Make sure the policy is only in the array once\r\n this.eligiblePolicies = _.uniqBy(this.eligiblePolicies, 'PolicyNumber');\r\n } else {\r\n // Same member that signed up\r\n this.eligiblePolicies.push({\r\n PolicyNumber: accountBill.MasterAccountNumber,\r\n PolicyType: 'AB',\r\n PolicyDescription: accountBill.Description,\r\n AllowChange: true,\r\n AllowEbill: true,\r\n AllowText: allowTextEnroll,\r\n MemberEmailAddress: this.emailAddress,\r\n MemberPhoneNumber: ebillResult.MemberPhoneNumber,\r\n OriginalEbill: (ebillResult.EnrollmentType === 'BOTH' || ebillResult.EnrollmentType === 'EML'),\r\n NewEbill: (ebillResult.EnrollmentType === 'BOTH' || ebillResult.EnrollmentType === 'EML'),\r\n OriginalPhone: textEnrollment === null ? this.emptyPhoneNumber : textEnrollment,\r\n NewPhone: textEnrollment === null ? this.emptyPhoneNumber : textEnrollment,\r\n MemberInitials: '',\r\n });\r\n\r\n // Make sure the policy is only in the array once\r\n this.eligiblePolicies = _.uniqBy(this.eligiblePolicies, 'PolicyNumber');\r\n }\r\n } else {\r\n // Error getting the current information or no record returned, so don't allow changes\r\n this.eligiblePolicies.push({\r\n PolicyNumber: accountBill.MasterAccountNumber,\r\n PolicyType: 'AB',\r\n PolicyDescription: accountBill.Description,\r\n AllowChange: false,\r\n AllowEbill: true,\r\n AllowText: allowTextEnroll,\r\n MemberEmailAddress: '',\r\n MemberPhoneNumber: '',\r\n OriginalEbill: false,\r\n NewEbill: false,\r\n OriginalPhone: this.emptyPhoneNumber,\r\n NewPhone: this.emptyPhoneNumber,\r\n MemberInitials: '',\r\n });\r\n\r\n // Make sure the policy is only in the array once\r\n this.eligiblePolicies = _.uniqBy(this.eligiblePolicies, 'PolicyNumber');\r\n }\r\n })\r\n .catch(() => {\r\n // Error getting the current information, so don't allow changes\r\n this.eligiblePolicies.push({\r\n PolicyNumber: accountBill.MasterAccountNumber,\r\n PolicyType: 'AB',\r\n PolicyDescription: accountBill.Description,\r\n AllowChange: false,\r\n AllowEbill: true,\r\n AllowText: allowTextEnroll,\r\n MemberEmailAddress: '',\r\n MemberPhoneNumber: '',\r\n OriginalEbill: false,\r\n NewEbill: false,\r\n OriginalPhone: this.emptyPhoneNumber,\r\n NewPhone: this.emptyPhoneNumber,\r\n MemberInitials: '',\r\n });\r\n\r\n // Make sure the policy is only in the array once\r\n this.eligiblePolicies = _.uniqBy(this.eligiblePolicies, 'PolicyNumber');\r\n });\r\n } else if (accountBill.EbillStatus === 'N') {\r\n // Add the eligible policy to the list\r\n this.eligiblePolicies.push({\r\n PolicyNumber: accountBill.MasterAccountNumber,\r\n PolicyType: 'AB',\r\n PolicyDescription: accountBill.Description,\r\n AllowChange: true,\r\n AllowEbill: true,\r\n AllowText: allowTextEnroll,\r\n MemberEmailAddress: this.emailAddress,\r\n MemberPhoneNumber: '',\r\n OriginalEbill: false,\r\n NewEbill: false,\r\n OriginalPhone: this.emptyPhoneNumber,\r\n NewPhone: this.emptyPhoneNumber,\r\n MemberInitials: '',\r\n });\r\n\r\n // Make sure the policy is only in the array once\r\n this.eligiblePolicies = _.uniqBy(this.eligiblePolicies, 'PolicyNumber');\r\n }\r\n }\r\n }\r\n }\r\n\r\n resolve('');\r\n });\r\n },\r\n changeEbill() {\r\n this.hasChanges = false;\r\n this.saveOverlay = true;\r\n for (let p = 0; p < this.eligiblePolicies.length; p += 1) {\r\n const policy = this.eligiblePolicies[p];\r\n\r\n if (policy.NewEbill !== policy.OriginalEbill && policy.NewPhone.MiraId !== policy.OriginalPhone.MiraId) {\r\n // Both E-bill and Text options have changed\r\n // Is this policy being enrolled or unenrolled from E-bill?\r\n if (policy.NewEbill === false) {\r\n policy.EbillChange = 'Unenroll';\r\n } else {\r\n policy.EbillChange = 'Enroll';\r\n }\r\n\r\n // Is this policy being enrolled, unenrolled, or changed from Texts?\r\n if (policy.NewPhone.MiraId === 0) {\r\n policy.PhoneChange = 'Unenroll';\r\n } else {\r\n policy.PhoneChange = `Enroll (${policy.NewPhone.PhoneNumber})`;\r\n }\r\n this.changedPolicies.push(policy);\r\n this.hasChanges = true;\r\n } else if (policy.NewEbill !== policy.OriginalEbill) {\r\n // E-bill option only has changed; add it to the list\r\n if (policy.NewEbill === false) {\r\n policy.EbillChange = 'Unenroll';\r\n } else {\r\n policy.EbillChange = 'Enroll';\r\n }\r\n policy.PhoneChange = 'No Change';\r\n this.changedPolicies.push(policy);\r\n this.hasChanges = true;\r\n } else if (policy.NewPhone.MiraId !== policy.OriginalPhone.MiraId) {\r\n // Text option only has changed; add it to the list\r\n if (policy.NewPhone.MiraId === 0) {\r\n policy.PhoneChange = 'Unenroll';\r\n } else {\r\n policy.PhoneChange = `Enroll (${policy.NewPhone.PhoneNumber})`;\r\n }\r\n policy.EbillChange = 'No Change';\r\n this.changedPolicies.push(policy);\r\n this.hasChanges = true;\r\n }\r\n }\r\n\r\n if (this.hasChanges) {\r\n this.$store.commit('payments/SET_EBILL_REQUEST', this.changedPolicies);\r\n this.$router.push({ name: 'policyholderChangeEbill' });\r\n this.saveOverlay = false;\r\n } else {\r\n this.saveOverlay = false;\r\n }\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Ebill.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Ebill.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Ebill.vue?vue&type=template&id=0c27af6c\"\nimport script from \"./Ebill.vue?vue&type=script&lang=js\"\nexport * from \"./Ebill.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-smaller-container tfb-component-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"drop-shadow background-white px-md-10 pb-5\",attrs:{\"fluid\":\"\"}},[_c('iframe',{staticClass:\"paperlessIFrame\",attrs:{\"src\":_vm.paperlessIFrameUrl,\"title\":\"Paperless Billing\"}})])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-smaller-container tfb-component-container\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"drop-shadow background-white px-md-10 pb-5\">\r\n <iframe :src=\"paperlessIFrameUrl\"\r\n title=\"Paperless Billing\"\r\n class=\"paperlessIFrame\"></iframe>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n export default {\r\n name: 'InvoiceCloudPaperless',\r\n computed: {\r\n remoteAuthenticationToken() {\r\n try {\r\n return this.$store.getters['member/invoiceCloudToken'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n paperlessIFrameUrl() {\r\n try {\r\n if (!this.isMemberRole && this.remoteAuthenticationToken && this.remoteAuthenticationToken !== null && this.remoteAuthenticationToken !== '') {\r\n // Not the member, don't allow changes\r\n return `${this.$store.getters['app/invoiceCloudIFrameUrl']}?RemoteAuthenticationToken=${this.remoteAuthenticationToken}&ViewMode=1&RedirectID=2`;\r\n }\r\n\r\n return '';\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .paperlessIFrame iframe {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .paperlessIFrame {\r\n width: 100%;\r\n height: 500px;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceCloudPaperless.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceCloudPaperless.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoiceCloudPaperless.vue?vue&type=template&id=38b18065\"\nimport script from \"./InvoiceCloudPaperless.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceCloudPaperless.vue?vue&type=script&lang=js\"\nimport style0 from \"./InvoiceCloudPaperless.vue?vue&type=style&index=0&id=38b18065&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-smaller-container tfb-component-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"drop-shadow background-white px-md-10 pb-5\",attrs:{\"fluid\":\"\"}},[_c('iframe',{staticClass:\"payByTextIFrame\",attrs:{\"src\":_vm.payByTextIFrameUrl,\"title\":\"Pay by Text Enrollment\"}})])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-smaller-container tfb-component-container\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"drop-shadow background-white px-md-10 pb-5\">\r\n <iframe :src=\"payByTextIFrameUrl\"\r\n title=\"Pay by Text Enrollment\"\r\n class=\"payByTextIFrame\"></iframe>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n export default {\r\n name: 'InvoiceCloudTextPayment',\r\n computed: {\r\n remoteAuthenticationToken() {\r\n try {\r\n return this.$store.getters['member/invoiceCloudToken'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n payByTextIFrameUrl() {\r\n try {\r\n if (!this.isMemberRole && this.remoteAuthenticationToken && this.remoteAuthenticationToken !== null && this.remoteAuthenticationToken !== '') {\r\n // Not the member, don't allow changes\r\n return `${this.$store.getters['app/invoiceCloudIFrameUrl']}?RemoteAuthenticationToken=${this.remoteAuthenticationToken}&ViewMode=1&RedirectID=11`;\r\n }\r\n\r\n return '';\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .payByTextIFrame iframe {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .payByTextIFrame {\r\n width: 100%;\r\n height: 400px;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceCloudTextPayment.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceCloudTextPayment.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoiceCloudTextPayment.vue?vue&type=template&id=36d6c393\"\nimport script from \"./InvoiceCloudTextPayment.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceCloudTextPayment.vue?vue&type=script&lang=js\"\nimport style0 from \"./InvoiceCloudTextPayment.vue?vue&type=style&index=0&id=36d6c393&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.showEnrollmentSection && _vm.eligiblePolicies.length > 0)?_c('v-container',{staticClass:\"tfb-smaller-container tfb-component-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"drop-shadow background-white px-md-10 pb-5\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-small text-uppercase\"},[_vm._v(\" Paperless Policy Notifications \")])])],1),(_vm.showEnrollmentMessage)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold text-blue\"},[_vm._v(\"Why should you consider enrolling in Paperless Policy Notifications?\")]),_c('ul',[_c('li',[_vm._v(\"Convenient email notifications alert you when new policy documents are available\")]),_c('li',[_vm._v(\"24/7 access to your policy documents\")]),_c('li',[_vm._v(\"Reduce clutter in your home and mailbox\")]),_c('li',[_vm._v(\"Conserve Earth's natural resources by reducing paper output\")])])])],1):_vm._e(),(!_vm.emailVerified)?_c('v-row',[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_vm._v(\" To activate Paperless Policy Notifications on eligible policies, please first \"),_c('a',{attrs:{\"href\":\"#email\"}},[_vm._v(\"verify your email address\")]),_vm._v(\". \")])],1):_c('v-row',[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(\"Paperless Policy Notifications will be sent to: \")]),_vm._v(_vm._s(_vm.emailAddress)+\" \")])],1),(_vm.emailVerified)?_c('v-form',{ref:\"unEnrollForm\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.changePaperless.apply(null, arguments)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.paperlessHeaders,\"items\":_vm.eligiblePolicies,\"loading\":_vm.paperlessLoading,\"no-results-text\":_vm.noResultsText,\"no-data-text\":_vm.noResultsText,\"hide-default-footer\":\"\",\"disable-sort\":\"\"},scopedSlots:_vm._u([{key:\"item.MemberInitials\",fn:function({ item }){return [(item.AllowChange)?_c('v-simple-checkbox',{attrs:{\"value\":item.OriginalPaperless,\"ripple\":false},model:{value:(item.NewPaperless),callback:function ($$v) {_vm.$set(item, \"NewPaperless\", $$v)},expression:\"item.NewPaperless\"}}):_c('span',[_vm._v(\" \"+_vm._s(item.MemberEmailAddress)+\" \")])]}}],null,false,2339337654)})],1)],1),(!_vm.hasChanges)?_c('v-row',[_c('v-col',{staticClass:\"v-messages theme--light error--text\",attrs:{\"cols\":\"12\"}},[_vm._v(\" Please make one or more changes to Paperless Policy Notifications enrollment before submitting. \")])],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"sm\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\"Submit\")])],1)],1)],1):_vm._e(),_c('v-overlay',{attrs:{\"absolute\":\"\",\"value\":_vm.saveOverlay}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1)],1)],1)],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-smaller-container tfb-component-container\"\r\n v-if=\"showEnrollmentSection && eligiblePolicies.length > 0\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"drop-shadow background-white px-md-10 pb-5\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-small text-uppercase\">\r\n Paperless Policy Notifications\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"showEnrollmentMessage\">\r\n <v-col cols=\"12\">\r\n <span class=\"font-weight-bold text-blue\">Why should you consider enrolling in Paperless Policy Notifications?</span>\r\n <ul>\r\n <li>Convenient email notifications alert you when new policy documents are available</li>\r\n <li>24/7 access to your policy documents</li>\r\n <li>Reduce clutter in your home and mailbox</li>\r\n <li>Conserve Earth's natural resources by reducing paper output</li>\r\n </ul>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"!emailVerified\">\r\n <v-col cols=\"12\"\r\n class=\"text-center\">\r\n To activate Paperless Policy Notifications on eligible policies, please first\r\n <a href=\"#email\">verify your email address</a>.\r\n </v-col>\r\n </v-row>\r\n <v-row v-else>\r\n <v-col cols=\"12\"\r\n class=\"text-center\">\r\n <strong>Paperless Policy Notifications will be sent to: </strong>{{emailAddress}}\r\n </v-col>\r\n </v-row>\r\n <v-form ref=\"unEnrollForm\"\r\n @submit.stop.prevent=\"changePaperless\"\r\n v-if=\"emailVerified\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-data-table :headers=\"paperlessHeaders\"\r\n :items=\"eligiblePolicies\"\r\n :loading=\"paperlessLoading\"\r\n :no-results-text=\"noResultsText\"\r\n :no-data-text=\"noResultsText\"\r\n hide-default-footer\r\n disable-sort>\r\n <template v-slot:item.MemberInitials=\"{ item }\">\r\n <v-simple-checkbox v-if=\"item.AllowChange\"\r\n v-model=\"item.NewPaperless\"\r\n :value=\"item.OriginalPaperless\"\r\n :ripple=\"false\"></v-simple-checkbox>\r\n <span v-else>\r\n {{ item.MemberEmailAddress }}\r\n </span>\r\n </template>\r\n </v-data-table>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"!hasChanges\">\r\n <v-col cols=\"12\"\r\n class=\"v-messages theme--light error--text\">\r\n Please make one or more changes to Paperless Policy Notifications enrollment before submitting.\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"4\"\r\n sm=\"6\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Submit</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n <v-overlay absolute\r\n :value=\"saveOverlay\">\r\n <v-progress-circular indeterminate\r\n size=\"64\"></v-progress-circular>\r\n </v-overlay>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'PaperlessChanges',\r\n mixins: [tfbHelperMixin],\r\n props: {\r\n contactList: {\r\n type: Array,\r\n required: true,\r\n },\r\n policyList: {\r\n type: Array,\r\n required: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n showEnrollmentSection: false,\r\n showEnrollmentMessage: true,\r\n saveOverlay: false,\r\n formDisabled: false,\r\n eligiblePolicies: [],\r\n changedPolicies: [],\r\n paperlessLoading: true,\r\n noResultsText: null,\r\n hasChanges: true,\r\n paperlessHeaders: [\r\n { text: 'Policy Type', align: 'start', value: 'PolicyDescription' },\r\n { text: 'Policy', value: 'PolicyNumber' },\r\n { text: 'Activate', value: 'MemberInitials' },\r\n ],\r\n };\r\n },\r\n computed: {\r\n memberId() {\r\n try {\r\n return this.$store.getters['member/memberId'];\r\n } catch (error) {\r\n return '0';\r\n }\r\n },\r\n memberNumber() {\r\n try {\r\n return this.$store.getters['member/memberNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n emailAddress() {\r\n try {\r\n return this.$store.getters['member/emailAddress'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n emailVerified() {\r\n try {\r\n return this.$store.getters['member/verifiedIndicator'];\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n },\r\n methods: {\r\n getAccountSummary() {\r\n dispatch('policy/getAccountSummary', { sMemberNumber: this.memberNumber, sTfbId: this.trackingId })\r\n .then(() => {\r\n // Policies should load\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('app/setIsLoading', true);\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n }\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n buildPaperlessInformation(allowedPaperless) {\r\n // Split the string to find the policyType-policySubType strings\r\n const allowedPaperlessSplit = allowedPaperless.split(',');\r\n\r\n // Loop through list of allowed Paperless Policy types\r\n for (let a = 0; a < allowedPaperlessSplit.length; a += 1) {\r\n if (allowedPaperlessSplit[a]) {\r\n const policyTypeSplit = allowedPaperlessSplit[a].split('-');\r\n\r\n if (policyTypeSplit.length > 1 && this.policyList && this.policyList.length > 0) {\r\n // Loop through the list of policies to see if any are eligible\r\n for (let p = 0; p < this.policyList.length; p += 1) {\r\n const policy = this.policyList[p];\r\n\r\n // Is this an eligible policy?\r\n if (policy && policy !== null && policy.PolicyType === policyTypeSplit[0] && policy.PolicySubType === policyTypeSplit[1] && policy.PolicyStatus === 'ACTIVE') {\r\n if (policy.PaperlessFlag === 'Y') {\r\n // There is at least one policy already on Paperless, so don't show the reasons why to enroll\r\n this.showEnrollmentMessage = false;\r\n\r\n // Get the existing paperless enrollment information\r\n dispatch('policy/getPaperlessInformation', {\r\n sMemberNumber: this.memberNumber, sPolicyNumber: policy.PolicyNumber, sPolicyType: policy.PolicyType, sTfbId: this.trackingId,\r\n })\r\n .then((paperlessResult) => {\r\n if (paperlessResult && paperlessResult.ErrorMessage === null) {\r\n if (paperlessResult && (this.memberId !== paperlessResult.MemberId)) {\r\n // The signed up member is different\r\n this.eligiblePolicies.push({\r\n PolicyNumber: policy.PolicyNumber,\r\n PolicyType: policy.PolicyType,\r\n PolicyDescription: policy.PolicyDescription,\r\n AllowChange: false,\r\n MemberEmailAddress: paperlessResult.MemberEmailAddress,\r\n OriginalPaperless: true,\r\n NewPaperless: true,\r\n MemberInitials: '',\r\n });\r\n } else {\r\n // Same member that signed up, or no record returned\r\n this.eligiblePolicies.push({\r\n PolicyNumber: policy.PolicyNumber,\r\n PolicyType: policy.PolicyType,\r\n PolicyDescription: policy.PolicyDescription,\r\n AllowChange: true,\r\n MemberEmailAddress: this.emailAddress,\r\n OriginalPaperless: true,\r\n NewPaperless: true,\r\n MemberInitials: '',\r\n });\r\n }\r\n } else {\r\n // Error getting the current information or no record returned, so don't allow changes\r\n this.eligiblePolicies.push({\r\n PolicyNumber: policy.PolicyNumber,\r\n PolicyType: policy.PolicyType,\r\n PolicyDescription: policy.PolicyDescription,\r\n AllowChange: false,\r\n MemberEmailAddress: this.emailAddress,\r\n OriginalPaperless: false,\r\n NewPaperless: false,\r\n MemberInitials: '',\r\n });\r\n }\r\n })\r\n .catch(() => {\r\n // Error getting the current information, so don't allow changes\r\n this.eligiblePolicies.push({\r\n PolicyNumber: policy.PolicyNumber,\r\n PolicyType: policy.PolicyType,\r\n PolicyDescription: policy.PolicyDescription,\r\n AllowChange: false,\r\n MemberEmailAddress: this.emailAddress,\r\n OriginalPaperless: false,\r\n NewPaperless: false,\r\n MemberInitials: '',\r\n });\r\n });\r\n } else {\r\n // Add the eligible policy to the list\r\n this.eligiblePolicies.push({\r\n PolicyNumber: policy.PolicyNumber,\r\n PolicyType: policy.PolicyType,\r\n PolicyDescription: policy.PolicyDescription,\r\n AllowChange: true,\r\n MemberEmailAddress: this.emailAddress,\r\n OriginalPaperless: false,\r\n NewPaperless: false,\r\n MemberInitials: '',\r\n });\r\n }\r\n this.paperlessLoading = false;\r\n }\r\n }\r\n } else {\r\n // No policies available\r\n this.noResultsText = 'No policies available';\r\n this.paperlessLoading = false;\r\n }\r\n }\r\n }\r\n },\r\n changePaperless() {\r\n this.hasChanges = false;\r\n this.saveOverlay = true;\r\n for (let p = 0; p < this.eligiblePolicies.length; p += 1) {\r\n const policy = this.eligiblePolicies[p];\r\n\r\n if (policy.NewPaperless !== policy.OriginalPaperless) {\r\n // Option has changed; add it to the list\r\n this.changedPolicies.push(policy);\r\n this.hasChanges = true;\r\n }\r\n }\r\n\r\n if (this.hasChanges) {\r\n this.$store.commit('policy/SET_PAPERLESS_REQUEST', this.changedPolicies);\r\n this.$router.push({ name: 'policyholderChangePaperless' });\r\n this.saveOverlay = false;\r\n } else {\r\n this.saveOverlay = false;\r\n }\r\n },\r\n },\r\n mounted() {\r\n // Is enrollment in Paperless Policy allowed?\r\n this.$store.dispatch('app/getFeatureFlag', { sTitle: 'PaperlessPolicyNotifyAllowed' })\r\n .then((allowedPaperless) => {\r\n if (allowedPaperless && allowedPaperless.length > 0) {\r\n this.showEnrollmentSection = true;\r\n this.buildPaperlessInformation(allowedPaperless);\r\n } else {\r\n // Paperless Policy not enabled\r\n this.noResultsText = 'Paperless Policy not available';\r\n this.paperlessLoading = false;\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.paperlessLoading = false;\r\n });\r\n\r\n if (!this.isMemberRole) {\r\n // Not the member, don't allow changes\r\n this.formDisabled = true;\r\n }\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaperlessPolicy.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaperlessPolicy.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PaperlessPolicy.vue?vue&type=template&id=5157e24e\"\nimport script from \"./PaperlessPolicy.vue?vue&type=script&lang=js\"\nexport * from \"./PaperlessPolicy.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-smaller-container tfb-component-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"drop-shadow background-white px-md-10 pb-5\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-small text-uppercase\"},[_vm._v(\" Additional Memberships \")])])],1),(_vm.memberList && _vm.memberList.length > 1)?_c('v-row',[_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"8\",\"sm\":\"4\"}},[_vm._v(\" Current Membership \")]),_c('v-col',{attrs:{\"cols\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.memberNumber)+\" \")])],1):_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"text-blue font-weight-bold\"},[_vm._v(\" Have more than one Texas Farm Bureau membership?\"),_c('br')]),_vm._v(\" Now you can access all of your memberships with one email address. Click below to associate another membership with this account. \")])],1),_c('ValidationObserver',{ref:\"obv\"},[(_vm.memberList && _vm.memberList.length > 1)?_c('v-row',[_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_vm._v(\" Additional Memberships \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Member Number\",\"items\":_vm.filteredMemberList,\"item-text\":\"Lng\",\"item-value\":\"Lng\",\"return-object\":\"\"},model:{value:(_vm.selectedMembership),callback:function ($$v) {_vm.selectedMembership=$$v},expression:\"selectedMembership\"}})],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled},on:{\"click\":function($event){return _vm.addMember()}}},[_vm._v(\"Add Membership\")])],1),(_vm.selectedMembership && _vm.selectedMembership !== '')?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled},on:{\"click\":function($event){return _vm.switchMember()}}},[_vm._v(\"Switch To This Membership\")])],1):_vm._e(),(_vm.selectedMembership && _vm.selectedMembership !== '')?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled},on:{\"click\":function($event){return _vm.removeMember()}}},[_vm._v(\"Remove This Membership\")])],1):_vm._e()],1)],1),_c('v-overlay',{attrs:{\"absolute\":\"\",\"value\":_vm.saveOverlay}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-smaller-container tfb-component-container\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"drop-shadow background-white px-md-10 pb-5\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-small text-uppercase\">\r\n Additional Memberships\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"memberList && memberList.length > 1\">\r\n <v-col cols=\"8\"\r\n sm=\"4\"\r\n class=\"font-weight-bold\">\r\n Current Membership\r\n </v-col>\r\n <v-col cols=\"4\">\r\n {{memberNumber}}\r\n </v-col>\r\n </v-row>\r\n <v-row v-else>\r\n <v-col cols=\"12\">\r\n <span class=\"text-blue font-weight-bold\">\r\n Have more than one Texas Farm Bureau membership?<br />\r\n </span>\r\n Now you can access all of your memberships with one email address. Click below to associate another membership with this account.\r\n </v-col>\r\n </v-row>\r\n <ValidationObserver ref=\"obv\">\r\n <v-row v-if=\"memberList && memberList.length > 1\">\r\n <v-col cols=\"12\"\r\n sm=\"4\"\r\n class=\"font-weight-bold\">\r\n Additional Memberships\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"4\">\r\n <select-input rules=\"required\"\r\n label=\"Member Number\"\r\n :items=\"filteredMemberList\"\r\n item-text=\"Lng\"\r\n item-value=\"Lng\"\r\n v-model=\"selectedMembership\"\r\n return-object></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n md=\"4\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n @click=\"addMember()\"\r\n class=\"tfb-button background-red\">Add Membership</v-btn>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n md=\"4\"\r\n v-if=\"selectedMembership && selectedMembership !== ''\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n @click=\"switchMember()\"\r\n class=\"tfb-button background-red\">Switch To This Membership</v-btn>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n md=\"4\"\r\n v-if=\"selectedMembership && selectedMembership !== ''\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n @click=\"removeMember()\"\r\n class=\"tfb-button background-red\">Remove This Membership</v-btn>\r\n </v-col>\r\n </v-row>\r\n </ValidationObserver>\r\n <v-overlay absolute\r\n :value=\"saveOverlay\">\r\n <v-progress-circular indeterminate\r\n size=\"64\"></v-progress-circular>\r\n </v-overlay>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import { ValidationObserver } from 'vee-validate';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'MembershipChanges',\r\n mixins: [tfbHelperMixin],\r\n components: {\r\n ValidationObserver,\r\n },\r\n data() {\r\n return {\r\n saveOverlay: false,\r\n formDisabled: false,\r\n selectedMembership: null,\r\n emailSuccess: false,\r\n verificationSuccess: false,\r\n passwordSuccess: false,\r\n };\r\n },\r\n computed: {\r\n memberList() {\r\n try {\r\n return this.$store.getters['member/memberList'];\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n memberNumber() {\r\n try {\r\n return this.$store.getters['member/memberNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n filteredMemberList() {\r\n let search = null;\r\n if (this.memberNumber) {\r\n search = this.memberNumber;\r\n }\r\n if (!search) return this.memberList;\r\n if (!this.memberList) return this.memberList;\r\n return this.memberList.filter(c => c.Lng.toUpperCase().indexOf(search) < 0);\r\n },\r\n },\r\n methods: {\r\n addMember() {\r\n this.$router.push({ name: 'policyholderManageMemberships', params: { changeType: 'add' } });\r\n },\r\n switchMember() {\r\n if (this.selectedMembership !== null) {\r\n dispatch('app/clearErrorMessage');\r\n this.saveOverlay = true;\r\n\r\n dispatch('member/switchMembership', { sMemberNumber: this.selectedMembership.Lng, sMemberId: this.selectedMembership.Id, sTfbId: this.trackingId })\r\n .then((switchResult) => {\r\n if (switchResult) {\r\n // Redirect where needed\r\n this.doRedirect();\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n this.saveOverlay = false;\r\n });\r\n }\r\n },\r\n removeMember() {\r\n if (this.selectedMembership !== null) {\r\n this.saveOverlay = true;\r\n this.$store.commit('member/SET_REMOVE_MEMBER_REQUEST', { MemberNumber: this.selectedMembership.Lng, MemberId: this.selectedMembership.Id });\r\n this.$router.push({ name: 'policyholderManageMemberships', params: { changeType: 'remove' } });\r\n this.saveOverlay = false;\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.selectedCommunication = this.communicationIndicator;\r\n\r\n if (!this.isMemberRole) {\r\n // Not the member, don't allow changes\r\n this.formDisabled = true;\r\n }\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Membership.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Membership.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Membership.vue?vue&type=template&id=aa2e184a\"\nimport script from \"./Membership.vue?vue&type=script&lang=js\"\nexport * from \"./Membership.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-smaller-container tfb-component-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"drop-shadow background-white px-md-10 pb-5\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-small text-uppercase\"},[_vm._v(\" Marketing Communication Preferences \")])])],1),_c('v-row',{attrs:{\"id\":\"communication-current\"}},[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[(_vm.communicationIndicator)?_c('span',[_vm._v(\"You are currently subscribed to receive marketing communications. You may adjust your preferences below.\")]):_c('span',[_vm._v(\"You are currently unsubscribed from receiving marketing communications. You may adjust your preferences below.\")]),_c('br')])],1),(_vm.communicationSuccess)?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_c('v-alert',{attrs:{\"type\":\"success\"}},[_vm._v(\" Your marketing communication preferences have been updated. \")])],1)],1):_vm._e(),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":\"I would like to receive marketing communications from Texas Farm Bureau Insurance Companies\"},model:{value:(_vm.selectedCommunication),callback:function ($$v) {_vm.selectedCommunication=$$v},expression:\"selectedCommunication\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled},on:{\"click\":function($event){return _vm.updateCommunication()}}},[_vm._v(\"Submit\")])],1)],1),_c('v-overlay',{attrs:{\"absolute\":\"\",\"value\":_vm.saveOverlay}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-smaller-container tfb-component-container\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"drop-shadow background-white px-md-10 pb-5\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-small text-uppercase\">\r\n Marketing Communication Preferences\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row id=\"communication-current\">\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <span v-if=\"communicationIndicator\">You are currently subscribed to receive marketing communications. You may adjust your preferences below.</span>\r\n <span v-else>You are currently unsubscribed from receiving marketing communications. You may adjust your preferences below.</span>\r\n <br />\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"communicationSuccess\">\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <v-alert type=\"success\">\r\n Your marketing communication preferences have been updated.\r\n </v-alert>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <v-checkbox v-model=\"selectedCommunication\"\r\n label=\"I would like to receive marketing communications from Texas Farm Bureau Insurance Companies\">\r\n </v-checkbox>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n md=\"4\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n @click=\"updateCommunication()\"\r\n class=\"tfb-button background-red\">Submit</v-btn>\r\n </v-col>\r\n </v-row>\r\n <v-overlay absolute\r\n :value=\"saveOverlay\">\r\n <v-progress-circular indeterminate\r\n size=\"64\"></v-progress-circular>\r\n </v-overlay>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'CommunicationChanges',\r\n mixins: [tfbHelperMixin],\r\n data() {\r\n return {\r\n saveOverlay: false,\r\n formDisabled: false,\r\n selectedCommunication: false,\r\n communicationSuccess: false,\r\n };\r\n },\r\n computed: {\r\n communicationIndicator() {\r\n try {\r\n return this.$store.getters['member/communicationIndicator'];\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n emailAddress() {\r\n try {\r\n return this.$store.getters['member/emailAddress'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n memberNumber() {\r\n try {\r\n return this.$store.getters['member/memberNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n },\r\n methods: {\r\n updateCommunication() {\r\n this.communicationSuccess = false;\r\n this.saveOverlay = true;\r\n dispatch('member/updateCommunication', {\r\n sUserName: this.emailAddress,\r\n sPreference: (this.selectedCommunication ? 'Y' : 'N'),\r\n sMemberNumber: this.memberNumber,\r\n sTfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n // Update was successful\r\n this.communicationSuccess = true;\r\n this.saveOverlay = false;\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error);\r\n this.saveOverlay = false;\r\n });\r\n },\r\n },\r\n mounted() {\r\n this.selectedCommunication = this.communicationIndicator;\r\n\r\n if (!this.isMemberRole) {\r\n // Not the member, don't allow changes\r\n this.formDisabled = true;\r\n }\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Communication.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Communication.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Communication.vue?vue&type=template&id=5de403ca\"\nimport script from \"./Communication.vue?vue&type=script&lang=js\"\nexport * from \"./Communication.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <v-container fluid\r\n class=\"tfb-smaller-container pb-10\">\r\n <h1 class=\"tfb-title-text-medium text-darker-blue text-uppercase\">Manage My Account</h1>\r\n <!-- Policyholder Notice -->\r\n <mobile-app-banner v-if=\"showMobileAppBanner\"></mobile-app-banner>\r\n <!-- Email Changes -->\r\n <a id=\"email\"></a>\r\n <email-changes></email-changes>\r\n <!-- Password Changes -->\r\n <a id=\"password\"></a>\r\n <password-changes></password-changes>\r\n <!-- Phone Changes -->\r\n <a id=\"phone\"></a>\r\n <phone-changes v-if=\"textEligible !== null && textEligible.length > 0 && foundContactList && foundContactList !== null\"\r\n :contact-list=\"foundContactList\"\r\n :phone-loading=\"phoneLoading\"></phone-changes>\r\n <!-- E-bill Changes -->\r\n <a id=\"ebill\"></a>\r\n <ebill-changes v-if=\"hasLegacyPolicies\"\r\n :contact-list=\"foundContactList\"\r\n :policy-list=\"accountSummary\"\r\n :ab-list=\"accountBillSummary\"></ebill-changes>\r\n <!-- InvoiceCloud Paperless Enrollment -->\r\n <invoice-cloud-paperless v-if=\"hasGuidewirePolicies\"></invoice-cloud-paperless>\r\n <!-- Paperless Changes -->\r\n <a id=\"paperless\"></a>\r\n <paperless-changes v-if=\"hasLegacyPolicies\"\r\n :contact-list=\"foundContactList\"\r\n :policy-list=\"accountSummary\"></paperless-changes>\r\n <!-- InvoiceCloud Pay by Text Enrollment -->\r\n <invoice-cloud-text-payment v-if=\"hasGuidewirePolicies\"></invoice-cloud-text-payment>\r\n <!-- Account Bill Changes -->\r\n <a id=\"accountBill\"></a>\r\n <!--<account-bill-changes></account-bill-changes>-->\r\n <!-- Membership Changes -->\r\n <a id=\"membership\"></a>\r\n <membership-changes></membership-changes>\r\n <!-- Communication Changes -->\r\n <a id=\"communication\"></a>\r\n <communication-changes></communication-changes>\r\n </v-container>\r\n</template>\r\n<script>\r\n import { dispatch, sync } from 'vuex-pathify';\r\n import tfbMetaInfo from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import { insuredAccessOnlyErrorMessage } from '@/mixins/errorMessages';\r\n import MobileAppBanner from '@/views/layout/components/MobileAppBanner.vue';\r\n import EmailChanges from './management/Email.vue';\r\n import PhoneChanges from './management/PhoneNumber.vue';\r\n import PasswordChanges from './management/Password.vue';\r\n import EbillChanges from './management/Ebill.vue';\r\n import InvoiceCloudPaperless from './management/InvoiceCloudPaperless.vue';\r\n import InvoiceCloudTextPayment from './management/InvoiceCloudTextPayment.vue';\r\n import PaperlessChanges from './management/PaperlessPolicy.vue';\r\n import MembershipChanges from './management/Membership.vue';\r\n // import AccountBillChanges from './management/AccountBill.vue';\r\n import CommunicationChanges from './management/Communication.vue';\r\n\r\n export default {\r\n name: 'AccountSettings',\r\n mixins: [tfbMetaInfo, tfbHelperMixin],\r\n components: {\r\n EmailChanges,\r\n PasswordChanges,\r\n PhoneChanges,\r\n EbillChanges,\r\n InvoiceCloudPaperless,\r\n PaperlessChanges,\r\n InvoiceCloudTextPayment,\r\n // AccountBillChanges,\r\n MembershipChanges,\r\n CommunicationChanges,\r\n MobileAppBanner,\r\n },\r\n data() {\r\n return {\r\n showPhoneNumbers: false,\r\n phoneLoading: false,\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Account Settings | PolicyHolder';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/manage-account`;\r\n },\r\n memberNumber() {\r\n try {\r\n return this.$store.getters['member/memberNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n showMobileAppBanner() {\r\n return this.$store.state.app.policyholderMobileAppDisplay === 'Y';\r\n },\r\n accountSummary() {\r\n try {\r\n return this.$store.getters['policy/accountSummary'];\r\n } catch (error) {\r\n return [];\r\n }\r\n },\r\n accountBillSummary() {\r\n try {\r\n return this.$store.getters['payments/accountBillSummary'];\r\n } catch (error) {\r\n return [];\r\n }\r\n },\r\n hasGuidewirePolicies() {\r\n try {\r\n return this.$store.getters['policy/hasGuidewirePolicies'];\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n hasGuidewireToken() {\r\n try {\r\n return this.$store.getters['policy/hasGuidewirePolicies'];\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n hasLegacyPolicies() {\r\n try {\r\n return this.$store.getters['policy/hasLegacyPolicies'];\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n // accountSummary: sync('policy/accountSummary'),\r\n // accountBillSummary: sync('payments/accountBillSummary'),\r\n textEligible: sync('app/textEligible'),\r\n foundContactList: sync('member/contactList'),\r\n showPhoneVerification: sync('member/showPhoneVerification'),\r\n showPhoneAdd: sync('member/showPhoneAdd'),\r\n },\r\n watch: {\r\n showPhoneVerification() {\r\n this.getMemberPhoneNumbers();\r\n },\r\n showPhoneAdd() {\r\n this.getMemberPhoneNumbers();\r\n },\r\n },\r\n methods: {\r\n getMemberPhoneNumbers() {\r\n this.phoneLoading = true;\r\n this.showPhoneNumbers = true;\r\n dispatch('member/getPhoneNumbers', { sMemberNumber: this.memberNumber, sTfbId: this.trackingId })\r\n .then(() => {\r\n this.phoneLoading = false;\r\n })\r\n .catch(() => {\r\n this.phoneLoading = false;\r\n });\r\n },\r\n getAccountSummary() {\r\n dispatch('policy/getAccountSummary', { sMemberNumber: this.memberNumber, sTfbId: this.trackingId })\r\n .then(() => {\r\n // Policies should load\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('app/setIsLoading', true);\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n }\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getAccountBillSummary() {\r\n dispatch('payments/getAccountBillInformation', { sMemberNumber: this.memberNumber, sTfbId: this.trackingId })\r\n .then(() => {\r\n // Policies should load\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n },\r\n mounted() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n\r\n if (this.accountSummary === null || this.accountSummary.length <= 0) {\r\n // Go fetch the policy list again\r\n this.getAccountSummary();\r\n this.getAccountBillSummary();\r\n }\r\n\r\n // Is the Policyholder application enabled?\r\n this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'Policyholder', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus === '') {\r\n // Is this a valid log in still?\r\n const includedToken = this.$route.query.access_token;\r\n dispatch('member/validateLogin', { sToken: includedToken, sTfbId: this.trackingId })\r\n .then((loginValid) => {\r\n if (!loginValid) {\r\n // Invalid login - go back to login screen\r\n dispatch('member/doLogout')\r\n .then(() => {\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n dispatch('app/setErrorMessage', accessError.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n } else if (!this.isMemberRole) {\r\n // Not the member, don't allow changes\r\n this.$store.dispatch('app/setErrorMessage', insuredAccessOnlyErrorMessage);\r\n // this.$router.push({ name: 'policyholderAccountSummary' });\r\n }\r\n\r\n if (this.doStatusCheck()) {\r\n // Check if Text Notifications are enabled\r\n this.$store.dispatch('app/getFeatureFlag', { sTitle: 'AllowedEbillTextNotify' })\r\n .then((allowedText) => {\r\n if (allowedText && allowedText !== null && allowedText.length > 0) {\r\n dispatch('app/setTextEligible', allowedText);\r\n this.getMemberPhoneNumbers();\r\n }\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n }\r\n\r\n this.$store.dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', returnedStatus);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountManagement.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountManagement.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountManagement.vue?vue&type=template&id=01aca85a\"\nimport script from \"./AccountManagement.vue?vue&type=script&lang=js\"\nexport * from \"./AccountManagement.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-container\",attrs:{\"fluid\":\"\"}},[_c('span',{staticClass:\"tfb-title-text-medium text-darker-blue text-uppercase\"},[_vm._v(\"Manage Memberships\")]),_c('v-row',{staticClass:\"mb-10\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"tfb-smallest-container background-white drop-shadow\",attrs:{\"fluid\":\"\"}},[_c('ValidationObserver',{ref:\"addobv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [(_vm.changeType === 'add')?_c('v-form',{staticClass:\"pb-5\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.addMembership)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|alpha_num|min:6|max:11\",\"label\":\"Policy Number\",\"minlength\":\"6\",\"maxlength\":\"11\"},model:{value:(_vm.add.policyNumber),callback:function ($$v) {_vm.$set(_vm.add, \"policyNumber\", $$v)},expression:\"add.policyNumber\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required|alpha_num|min:4|max:11\",\"name\":\"Member Number\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid, required }){return [_c('v-text-field',{attrs:{\"outlined\":\"\",\"autocapitalize\":\"characters\",\"error-messages\":errors,\"success\":valid,\"minlength\":\"4\",\"maxlength\":\"11\",\"label\":\"Member Number\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [(required)?_c('v-icon',[_vm._v(\"mdi-asterisk\")]):_vm._e()]},proxy:true}],null,true),model:{value:(_vm.add.memberNumber),callback:function ($$v) {_vm.$set(_vm.add, \"memberNumber\", $$v)},expression:\"add.memberNumber\"}})]}}],null,true)})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"type\":\"submit\"}},[_vm._v(\"Submit\")])],1)],1)],1):_vm._e()]}}])}),_c('ValidationObserver',{ref:\"remobv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [(_vm.changeType === 'remove')?_c('v-form',{staticClass:\"pb-5\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.removeMembership)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" By removing this membership from your account, you will no longer be able to access it via this email address. \"),_c('strong',[_vm._v(\"Any E-bill, Text, or Paperless options on policies associated with that membership will also be removed.\")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"8\"}},[_vm._v(\" Please enter in the membership number to confirm removal: \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('text-input',{attrs:{\"rules\":_vm.memberRules,\"label\":\"Member Number\",\"autocapitalize\":\"characters\",\"minlength\":\"4\",\"maxlength\":\"11\"},model:{value:(_vm.remove.memberNumber),callback:function ($$v) {_vm.$set(_vm.remove, \"memberNumber\", $$v)},expression:\"remove.memberNumber\"}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"type\":\"submit\"}},[_vm._v(\"Submit\")])],1)],1)],1):_vm._e()]}}])})],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-container\">\r\n <span class=\"tfb-title-text-medium text-darker-blue text-uppercase\">Manage Memberships</span>\r\n <v-row class=\"mb-10\">\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"tfb-smallest-container background-white drop-shadow\">\r\n <ValidationObserver ref=\"addobv\" v-slot=\"{ handleSubmit }\">\r\n <v-form @submit.stop.prevent=\"handleSubmit(addMembership)\"\r\n v-if=\"changeType === 'add'\"\r\n class=\"pb-5\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|alpha_num|min:6|max:11\"\r\n label=\"Policy Number\"\r\n minlength=\"6\"\r\n maxlength=\"11\"\r\n v-model=\"add.policyNumber\"></text-input>\r\n </v-col>\r\n <v-col cols=\"12\">\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required|alpha_num|min:4|max:11\"\r\n name=\"Member Number\"\r\n v-slot=\"{ errors, valid, required }\">\r\n <v-text-field outlined\r\n v-model=\"add.memberNumber\"\r\n autocapitalize=\"characters\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n minlength=\"4\"\r\n maxlength=\"11\"\r\n label=\"Member Number\">\r\n <template v-slot:append>\r\n <v-icon v-if=\"required\">mdi-asterisk</v-icon>\r\n </template>\r\n </v-text-field>\r\n </ValidationProvider>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n md=\"4\"\r\n class=\"py-0\">\r\n <v-btn block\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Submit</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n <ValidationObserver ref=\"remobv\" v-slot=\"{ handleSubmit }\">\r\n <v-form @submit.stop.prevent=\"handleSubmit(removeMembership)\"\r\n v-if=\"changeType === 'remove'\"\r\n class=\"pb-5\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n By removing this membership from your account, you will no longer be able to access it via this email address.\r\n <strong>Any E-bill, Text, or Paperless options on policies associated with that membership will also be removed.</strong>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"8\">\r\n Please enter in the membership number to confirm removal:\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"4\">\r\n <text-input :rules=\"memberRules\"\r\n label=\"Member Number\"\r\n autocapitalize=\"characters\"\r\n minlength=\"4\"\r\n maxlength=\"11\"\r\n v-model=\"remove.memberNumber\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n md=\"4\"\r\n class=\"py-0\">\r\n <v-btn block\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">Submit</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import { ValidationObserver, ValidationProvider } from 'vee-validate';\r\n import tfbMetaInfo from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import { sessionErrorMessage } from '@/mixins/errorMessages';\r\n /* eslint object-shorthand: 0 */\r\n\r\n export default {\r\n name: 'AccountMemberships',\r\n mixins: [tfbMetaInfo, tfbHelperMixin],\r\n props: {\r\n changeType: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n components: {\r\n ValidationObserver,\r\n ValidationProvider,\r\n },\r\n data() {\r\n return {\r\n add: {\r\n policyNumber: '',\r\n memberNumber: '',\r\n },\r\n remove: {\r\n memberNumber: '',\r\n },\r\n memberRules: {\r\n required: true,\r\n min: 4,\r\n max: 11,\r\n is: '',\r\n },\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Manage My Memberships | PolicyHolder';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/membership/${this.changeType}`;\r\n },\r\n memberList() {\r\n try {\r\n return this.$store.getters['member/memberList'];\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n removeRequest() {\r\n try {\r\n return this.$store.getters['member/removeMemberRequest'];\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n },\r\n watch: {\r\n 'add.memberNumber'(val) {\r\n this.add.memberNumber = val.toUpperCase();\r\n },\r\n 'remove.memberNumber'(val) {\r\n this.remove.memberNumber = val.toUpperCase();\r\n },\r\n },\r\n mounted() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n if (!this.isLoggedIn) {\r\n // Invalid login - go back to login screen\r\n dispatch('app/setErrorMessage', sessionErrorMessage);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n } else if (this.changeType === 'remove' && this.removeRequest === null) {\r\n // Invalid request - go back to management page\r\n this.$router.push({ name: 'policyholderAccountManagement' });\r\n } else if (this.changeType === 'remove') {\r\n // Invalid request - go back to management page\r\n this.memberRules.is = this.removeRequest.MemberNumber.toUpperCase();\r\n }\r\n dispatch('app/setIsLoading', false);\r\n },\r\n methods: {\r\n addMembership() {\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('member/addNewMembership', {\r\n sPolicyNumber: this.add.policyNumber,\r\n sMemberNumber: this.add.memberNumber,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((response) => {\r\n if (response !== '') {\r\n this.$store.dispatch('app/setErrorMessage', response);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } else {\r\n // Redirect to Account Summary\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n removeMembership() {\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('member/removeMembership', {\r\n sMemberId: this.removeRequest.MemberId,\r\n sMemberNumber: this.remove.memberNumber,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((response) => {\r\n if (response !== '') {\r\n this.$store.dispatch('app/setErrorMessage', response);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } else {\r\n // Redirect to Account Summary\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Memberships.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Memberships.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Memberships.vue?vue&type=template&id=f8d7e012\"\nimport script from \"./Memberships.vue?vue&type=script&lang=js\"\nexport * from \"./Memberships.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-smaller-container tfb-component-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"drop-shadow background-white px-10 pb-5\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"tfb-title-text-small text-uppercase\"},[_vm._v(\" Verify Email Address \")])])],1),(_vm.verificationSuccess)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.verificationSuccess)?_c('v-alert',{attrs:{\"type\":\"success\"}},[_vm._v(\" Thank you! Your email address has been verified. You may need to log in again to see this reflected on your account. \")]):_vm._e(),_c('p',[_c('router-link',{attrs:{\"to\":{ name: 'policyholderAccountSummary'},\"hreflang\":\"en-us\"}},[_vm._v(\"Go to Account Summary\")])],1)],1)],1):_vm._e()],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-smaller-container tfb-component-container\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"drop-shadow background-white px-10 pb-5\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <span class=\"tfb-title-text-small text-uppercase\">\r\n Verify Email Address\r\n </span>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"verificationSuccess\">\r\n <v-col cols=\"12\">\r\n <v-alert type=\"success\"\r\n v-if=\"verificationSuccess\">\r\n Thank you! Your email address has been verified. You may need to log in again to see this reflected on your account.\r\n </v-alert>\r\n <p>\r\n <router-link :to=\"{ name: 'policyholderAccountSummary'}\"\r\n hreflang=\"en-us\">Go to Account Summary</router-link></p>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n\r\n export default {\r\n name: 'EmailVerificationComplete',\r\n mixins: [tfbMetaMixin],\r\n data() {\r\n return {\r\n verificationSuccess: false,\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Verify Email Address | PolicyHolder';\r\n },\r\n validationCode() {\r\n try {\r\n return this.$route.query.i;\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n },\r\n mounted() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n\r\n if (this.validationCode && this.validationCode !== null) {\r\n let multipleIndicator = false;\r\n\r\n if (this.validationCode.substring(0, 1) === 'M' || this.validationCode.substring(0, 1) === 'A') {\r\n multipleIndicator = true;\r\n }\r\n dispatch('member/doEmailVerification', { sValidationCode: this.validationCode, sMultipleIndicator: multipleIndicator, sTfbId: this.trackingId })\r\n .then(() => {\r\n // Update was successful\r\n this.verificationSuccess = true;\r\n dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n dispatch('app/setErrorMessage', error);\r\n dispatch('app/setIsLoading', false);\r\n });\r\n } else {\r\n // No token, so redirect to home page\r\n this.$router.push({ name: 'home' });\r\n }\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailVerificationComplete.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailVerificationComplete.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./EmailVerificationComplete.vue?vue&type=template&id=245a4160\"\nimport script from \"./EmailVerificationComplete.vue?vue&type=script&lang=js\"\nexport * from \"./EmailVerificationComplete.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"tfb-container pb-10\",attrs:{\"fluid\":\"\"}},[_c('h1',{staticClass:\"tfb-title-text-medium text-darker-blue text-uppercase\"},[_vm._v(\"Terms and Conditions\")]),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"drop-shadow background-white\",attrs:{\"fluid\":\"\"}},[(_vm.showPaperlessTerms)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"tfb-title-text-small text-uppercase text-darker-blue\"},[_vm._v(\"Paperless Policy\")])])],1):_vm._e(),_c('v-row',{class:[ !_vm.showingFullEmail ? 'showLess' : '' ]},[_c('v-col',{staticClass:\"text-body-2\",attrs:{\"cols\":\"12\"}},[_c('p',[_vm._v(\" By clicking on the “Accept” button below, you accept these Terms and Conditions governing the use of \"),_c('strong',[_vm._v(\"Paperless Policy.\")])]),_c('p',[_vm._v(\" Throughout these Terms and Conditions, the words “you” and “your” refer to the policyholder, the named insured and/or the spouse if a resident of the same household, if applicable. The words “we,” “us,” or “our” within these Terms and Conditions refer to the companies providing your insurance, which may include, but not be limited to, Texas Farm Bureau Mutual Insurance Company, Texas Farm Bureau Premium Finance Company, Texas Farm Bureau Underwriters, Texas Farm Bureau Casualty Insurance Company, and Farm Bureau County Mutual Insurance Company of Texas and may also include, as applicable, a contractor acting on our behalf. \")]),_c('p',[_vm._v(\" These Terms and Conditions are in addition to other terms and conditions for other services provided by us. By agreeing to these Terms and Conditions, we will send you notifications through e-mail to electronically view your Paperless Policy, which includes but is not limited to viewing your policy details, past and current policy documents, agent contact information, and enables you to pay your premium, file a claim, and print ID cards. YOUR ACCEPTANCE OF THESE TERMS AND CONDITIONS CONSTITUTES YOUR AGREEMENT TO THESE TERMS AND CONDITIONS AND ANY SUBSEQUENT CHANGES TO THESE TERMS AND CONDITIONS; DO NOT CLICK “ACCEPT” OR PROVIDE PERSONAL INFORMATION IF YOU DO NOT AGREE WITH ALL OF THESE TERMS AND CONDITIONS. \")]),_c('p',[_vm._v(\" Paperless Policy must be selected individually for eligible insurance policies or master account. Only certain policies are eligible for Paperless Policy. You may receive certain documents by mail when required by law, due to technological constraints, or as we deem appropriate. Once you are successfully enrolled in Paperless Policy, you should expect to stop receiving paper policy documents within the next two billing cycles. In addition to Paperless Policy, you will continue to receive copies of billing-related notices through your chosen method of delivery, whether via paper or email. Any Paperless Policy notification we send will be dated when sent to the e-mail address on file, even if a document is sent both electronically and as a paper copy. A paper copy does not alter the delivery date of the electronic document or any deadlines or responsibilities referenced by the document. \")]),_c('p',[_vm._v(\" We do not charge a separate fee for your use of Paperless Policy, but your wireless carrier or internet service provider may charge message, data, or other rates or fees for these notifications or your use of cellular data or internet to access these notifications. \")]),_c('p',[_vm._v(\" The enrolled e-mail will begin receiving Paperless Policy notifications regarding the selected policies shortly after enrollment. The frequency of e-mails and the timing of receipt of e-mails will depend on a variety of factors, including, but not limited to, the term of enrollment. \")]),_c('p',[_vm._v(\" Paperless Policy should be available through your electronic or mobile devices when in operating range of your wireless or internet service provider. However, this service may not be available through all wireless carriers or internet service providers, and certain functionalities of Paperless Policy may not be supported by your wireless carrier or internet service provider. It is your responsibility to contact your wireless carrier or internet service provider with questions regarding any issues, including rates, fees, and coverage. We cannot guarantee that Paperless Policy notifications provided through your wireless carrier or internet service provider will be delivered to you and are not liable for any delayed or undelivered Paperless Policy notifications. \")]),_c('p',[_vm._v(\" WE DO NOT WARRANT THAT THE INFORMATION, PROCESSES, OR SERVICES WILL BE UNINTERRUPTED, ACCURATE, COMPLETE, USEFUL, FUNCTIONAL, BUG, OR ERROR-FREE. TO THE EXTENT PERMITTED BY LAW, THIS SERVICE IS PROVIDED “AS IS”, “WITH ALL FAULTS”, AND WITHOUT EXPRESS OR IMPLIED WARRANTIES OF ANY KIND, INCLUDING THE FOLLOWING EXPRESSLY DISCLAIMED WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. YOU ASSUME ALL RESPONSIBILITY AND RISK FOR USE OF PAPERLESS POLICY. \")]),_c('p',[_vm._v(\" It is your responsibility to provide us with an accurate and complete e-mail address, and to promptly update your Online Account with any changes to your e-mail address. Changes to your e-mail address used for Paperless Policy purposes will only update the e-mail address used for Paperless Policy, and will not update any other e-mail addresses you have registered with us. \")]),_c('p',[_vm._v(\" Please ensure that you have disabled any spam or other filters that may prevent the delivery of a Paperless Policy notification to you. Additionally, please ensure that your e-mail is active and capable of receiving new e-mails. We are not responsible for problems arising from e-mails sent to an inactive or out-of-date e-mail address. You further acknowledge that we will continue to send Paperless Policy notifications to the enrolled e-mail address until you change or unenroll that e-mail address. You will receive a confirmation by e-mail when we have received a request to discontinue Paperless Policy notifications. Discontinuing Paperless Policy notifications will resume paper policy documents within fifteen (15) business days. \")]),_c('p',[_vm._v(\" At any time, you may provide updates to contacts and enrolled e-mail addresses or opt out of Paperless Policy notifications in the “Manage My Account” section of our website. You may subsequently re-enroll in Paperless Policy at any time if you so choose. \")]),_c('p',[_vm._v(\" In lieu of paper policy documents, you will be sent an e-mail notification with a link to your online account where you can “View Policy Documents”. Click on the link contained in the e-mail to access your account and view Paperless Policy documents or simply go the “My Accounts” section of our website and log in to your account at any time. You will be required to enter a User ID and Password to access documents. The document will appear as a .PDF document when viewed, so you will need compatible software capable of opening and viewing .PDF documents, such as that provided by Adobe Systems, Inc. \")]),_c('p',[_vm._v(\" You are responsible for use of the Paperless Policy service and are fully responsible for any payments to your account. If you believe a person not authorized by you has gained access to your e-mail, you must notify us promptly of any such unauthorized access. You are responsible and assume the risk for any loss, theft, or unauthorized use of your e-mail address, which could permit unauthorized persons to have access to your personal information and account information and/or use such information for unauthorized purposes. \")]),_c('p',[_vm._v(\" We may change these Terms and Conditions at any point and will provide you notice of the updated Terms and Conditions. However, your continued use of this Paperless Policy service represents your ongoing acceptance of these Terms and Conditions. \")]),_c('p',[_vm._v(\" AGREEMENT TO ARBITRATE\"),_c('br'),_vm._v(\" YOU AGREE TO ARBITRATE ANY AND ALL DISPUTES, CONTROVERSIES, OR CLAIMS BETWEEN, ON THE ONE HAND, YOU OR ANYONE ELSE ASSERTING A CLAIM BELONGING TO, OBTAINED THROUGH, OR ON BEHALF OF YOU, AND, ON THE OTHER HAND, US, OUR AFFILIATES, AND ANY OF OUR OR THEIR OFFICERS, DIRECTORS, EMPLOYEES, CONTRACTORS, AND/OR REPRESENTATIVES, ARISING OUT OF OR RELATED IN ANY WAY TO: (I) THESE TERMS AND CONDITIONS AND/OR (II) PAPERLESS POLICY (THE “COVERED CLAIMS”). AN “AFFILIATE” SHALL MEAN ANY ENTITY CONTROLLED BY OR UNDER COMMON CONTROL WITH, DIRECTLY OR INDIRECTLY, THE TEXAS FARM BUREAU (WHICH SHALL INCLUDE WITHOUT LIMITATION CONTROL EXERCISED BY MANAGEMENT CONTRACT, PROXIES, OR ANY OTHER MEANS). FOR ALL COVERED CLAIMS, YOU AGREE THAT ARBITRATION SHALL BE THE EXCLUSIVE REMEDY AND SHALL BE FINAL AND BINDING. JUDGMENT UPON ANY ARBITRATION AWARD MAY BE ENTERED IN ANY COURT OF COMPETENT JURISDICTION. \")]),_c('p',[_c('strong',[_vm._v(\" YOU UNDERSTAND AND AGREE THAT ARBITRATION IS THE ONLY LITIGATION FORUM FOR RESOLVING A COVERED CLAIM, AND THAT BOTH WE AND YOU ARE WAIVING A RIGHT TO A TRIAL BEFORE A JUDGE OR JURY IN FEDERAL OR STATE COURT IN FAVOR OF ARBITRATION. \")])]),_c('p',[_vm._v(\" YOUR COVERED CLAIM(S) WILL BE DETERMINED IN AN INDIVIDUAL PROCEEDING AND MAY NOT BE JOINED TOGETHER WITH THE CLAIMS OF ANY OTHER PERSONS WITHOUT THE EXPRESS WRITTEN CONSENT OF ALL THE OTHER PARTIES TO THE PROCEEDING. YOU AGREE TO WAIVE ANY RIGHT TO COMMENCE OR PARTICIPATE IN A CLASS, COLLECTIVE, OR REPRESENTATIVE ACTION; AND ANY RIGHT TO UTILIZE CLASS-ACTION, COLLECTIVE-ACTION, OR REPRESENTATIVE-ACTION PROCEDURES. (THIS PARAGRAPH IS REFERRED TO AS THE “CLASS ACTION WAIVER”). \"),_c('strong',[_vm._v(\" THE CLASS ACTION WAIVER PRECLUDES YOU OR ANY PARTY FROM PARTICIPATING IN OR BEING REPRESENTED IN ANY CLASS, COLLECTIVE, OR REPRESENTATIVE ACTION REGARDING A COVERED CLAIM IN ANY FORUM. \")])]),_c('p',[_vm._v(\" IN ARBITRATION, THE ARBITRATOR SHALL HAVE NO POWER TO ARBITRATE ANY FORM OF A CLASS, COLLECTIVE, OR REPRESENTATIVE PROCEEDING; TO UTILIZE CLASS-ACTION, COLLECTIVE-ACTION, OR REPRESENTATIVE-ACTION PROCEDURES; OR TO COMBINE A COVERED CLAIM WITH ANY OTHER CLAIM THAT IS NOT A COVERED CLAIM. EACH PARTY SHALL ASSERT IN ONE PROCEEDING ALL OF THE PARTY’S COVERED CLAIMS AGAINST THE OTHER PARTIES ARISING OUT OF THE SAME TRANSACTION OR OCCURRENCE OR SERIES OF TRANSACTIONS OR OCCURRENCES. IF THE CLASS ACTION WAIVER IS, BY FORCE OF LAW, LIMITED, VOIDED, OR DETERMINED TO BE ILLEGAL, INVALID, OR OTHERWISE UNENFORCEABLE, THEN THIS AGREEMENT TO ARBITRATE SHALL BE NULL AND VOID WITH RESPECT TO SUCH PROCEEDING, SUBJECT TO THE RIGHT TO APPEAL THE LIMITATION OR INVALIDATION OF THE CLASS ACTION WAIVER AND, IF SUCH APPEAL IS SUCCESSFUL, TO ENFORCE THIS AGREEMENT TO ARBITRATE SUBJECT TO THE CLASS ACTION WAIVER. \")]),_c('p',[_vm._v(\" THE ARBITRATOR SHALL HAVE THE EXCLUSIVE AUTHORITY TO RESOLVE ANY AND ALL ISSUES OF ARBITRABILITY, INCLUDING BUT NOT LIMITED TO ISSUES REGARDING THE EXISTENCE, ENFORCEABILITY, VALIDITY, LEGALITY, UNCONSCIONABILITY, SCOPE, INTERPRETATION, OR APPLICABILITY OF THIS AGREEMENT OR ANY PART THEREOF; NOTWITHSTANDING THE ABOVE, ANY ISSUES REGARDING THE VALIDITY AND EFFECT OF THE CLASS ACTION WAIVER MAY BE DETERMINED ONLY BY A COURT AND NOT BY AN ARBITRATOR. \")]),_c('p',[_vm._v(\" THE ARBITRATOR SHALL NOT HAVE THE POWER TO GRANT GREATER RELIEF THAN WOULD HAVE BEEN AVAILABLE HAD THE MATTER BEEN HEARD IN COURT. THE ARBITRATOR SHALL BAR A COVERED CLAIM IF ARBITRATION IS NOT INITIATED WITHIN THE TIME OTHERWISE PERMITTED FOR LEGAL ACTION UNDER THE APPLICABLE LIMITATIONS PERIOD. THE PARTIES DO NOT WAIVE ANY EXHAUSTION REQUIREMENTS THAT MAY APPLY PRIOR TO ASSERTING A COVERED CLAIM. THE ARBITRATOR SHALL HAVE NO POWER TO VARY OR IGNORE ANY TERM OF THESE TERMS AND CONDITIONS. THE ARBITRATOR SHALL FOLLOW THE SUBSTANTIVE LAWS OF THE STATE OF TEXAS (WITHOUT REFERENCE TO ITS CHOICE-OF-LAW PRINCIPLES) AND ANY APPLICABLE FEDERAL LAW. \")]),_c('p',[_vm._v(\" WE WILL PAY ALL ARBITRATOR COSTS AND ADMINISTRATIVE FEES OF THE ARBITRATION EXCEPT FOR ANY INITIAL FILING FEE FOR A CLAIM BROUGHT BY YOU, WHICH FEE SHALL BE PAID BY YOU UP TO THE LESSER OF $400 OR THE COST OF FILING A NEW CIVIL SUIT IN THE U.S. DISTRICT COURT FOR THE WESTERN DISTRICT OF TEXAS. THE PARTIES WILL BE RESPONSIBLE FOR THEIR OWN ATTORNEY’S FEES UNLESS OTHERWISE ORDERED BY THE ARBITRATOR IN ACCORDANCE WITH APPLICABLE LAW. ARBITRATION SHALL BE CONDUCTED BY A SINGLE ARBITRATOR SELECTED THROUGH THE AMERICAN ARBITRATION ASSOCIATION (“AAA”). THE PROCEEDING SHALL BE GOVERNED BY THE COMMERCIAL ARBITRATION RULES OF THE AAA IN EFFECT AT THE TIME THE ARBITRATION IS COMMENCED, BUT ONLY TO THE EXTENT CONSISTENT WITH THIS AGREEMENT. VENUE FOR THE ARBITRATION PROCEEDING SHALL BE IN MCLENNAN COUNTY, TEXAS. \")]),_c('p',[_vm._v(\" THIS AGREEMENT TO ARBITRATE IS MADE PURSUANT TO AND SHALL BE GOVERNED BY THE FEDERAL ARBITRATION ACT. EXCEPT AS MAY BE REQUIRED BY LAW OR AS NECESSARY IN A PROCEEDING TO CONFIRM OR ENFORCE AN ARBITRATION AWARD, NEITHER A PARTY NOR AN ARBITRATOR MAY DISCLOSE THE EXISTENCE, CONTENT, OR RESULTS OF ANY ARBITRATION UNDER THESE TERMS AND CONDITIONS. AN ARBITRATION AWARD AND ANY JUDGMENT CONFIRMING AN AWARD WILL APPLY ONLY TO THE SPECIFIC CASE ADJUDICATED AND SHALL NOT BE USED IN ANY OTHER CASE OR ARBITRATION PROCEEDING EXCEPT TO ENFORCE THE AWARD. \")])])],1),_c('v-row',[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-expand-terms-button mx-auto\",attrs:{\"plain\":\"\"},on:{\"click\":function($event){_vm.showingFullEmail = !_vm.showingFullEmail}}},[_vm._v(\"Read \"+_vm._s(_vm.showingFullEmail ? \"Less\" : \"More\"))])],1)],1),_c('v-row',[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Paperless Policy Notifications Notifications will be sent to: \")]),_vm._v(_vm._s(_vm.emailAddress)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Please enter your initials by each change.\")])])],1),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [(_vm.paperlessRequest)?_c('v-form',{ref:\"form\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.savePaperlessChanges)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.paperlessHeaders,\"items\":_vm.paperlessRequest,\"hide-default-footer\":\"\",\"disable-sort\":\"\"},scopedSlots:_vm._u([{key:\"item.NewPaperless\",fn:function({ item }){return [(item.NewPaperless)?_c('span',[_vm._v(\" Enroll \")]):_c('span',[_vm._v(\" Unenroll \")])]}},{key:\"item.MemberInitials\",fn:function({ item }){return [_c('text-input',{attrs:{\"rules\":\"required|min:2|max:3\",\"dense\":\"\",\"minlength\":\"2\",\"maxlength\":\"3\",\"label\":\"Initials\",\"vid\":item.PolicyNumber},model:{value:(item.MemberInitials),callback:function ($$v) {_vm.$set(item, \"MemberInitials\", $$v)},expression:\"item.MemberInitials\"}})]}}],null,true)})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.cancelPaperlessChanges()}}},[_vm._v(\"Cancel\")])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"type\":\"submit\",\"disabled\":_vm.formDisabled}},[_vm._v(\"Accept\")])],1)],1)],1):_vm._e()]}}])})],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid\r\n class=\"tfb-container pb-10\">\r\n <h1 class=\"tfb-title-text-medium text-darker-blue text-uppercase\">Terms and Conditions</h1>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-container fluid\r\n class=\"drop-shadow background-white\">\r\n <v-row v-if=\"showPaperlessTerms\">\r\n <v-col cols=\"12\">\r\n <h2 class=\"tfb-title-text-small text-uppercase text-darker-blue\">Paperless Policy</h2>\r\n </v-col>\r\n </v-row>\r\n <v-row v-bind:class=\"[ !showingFullEmail ? 'showLess' : '' ]\">\r\n <v-col cols=\"12\"\r\n class=\"text-body-2\">\r\n <p>\r\n By clicking on the “Accept” button below, you accept these Terms and Conditions governing the use of <strong>Paperless Policy.</strong>\r\n </p>\r\n <p>\r\n Throughout these Terms and Conditions, the words “you” and “your” refer to the policyholder, the named insured and/or the spouse if\r\n a resident of the same household, if applicable. The words “we,” “us,” or “our” within these Terms and Conditions refer\r\n to the companies providing your insurance, which may include, but not be limited to, Texas Farm Bureau Mutual Insurance Company, Texas Farm Bureau Premium\r\n Finance Company, Texas Farm Bureau Underwriters, Texas Farm Bureau Casualty Insurance Company, and Farm Bureau County Mutual Insurance Company of Texas and\r\n may also include, as applicable, a contractor acting on our behalf.\r\n </p>\r\n <p>\r\n These Terms and Conditions are in addition to other terms and conditions for other services provided by us. By agreeing to these Terms and Conditions, we will\r\n send you notifications through e-mail to electronically view your Paperless Policy, which includes but is not limited to viewing your policy details, past and\r\n current policy documents, agent contact information, and enables you to pay your premium, file a claim, and print ID cards. YOUR ACCEPTANCE OF THESE TERMS AND\r\n CONDITIONS CONSTITUTES YOUR AGREEMENT TO THESE TERMS AND CONDITIONS AND ANY SUBSEQUENT CHANGES TO THESE TERMS AND CONDITIONS; DO NOT CLICK “ACCEPT”\r\n OR PROVIDE PERSONAL INFORMATION IF YOU DO NOT AGREE WITH ALL OF THESE TERMS AND CONDITIONS.\r\n </p>\r\n <p>\r\n Paperless Policy must be selected individually for eligible insurance policies or master account. Only certain policies are eligible for Paperless Policy.\r\n You may receive certain documents by mail when required by law, due to technological constraints, or as we deem appropriate. Once you are successfully enrolled\r\n in Paperless Policy, you should expect to stop receiving paper policy documents within the next two billing cycles. In addition to Paperless Policy, you will\r\n continue to receive copies of billing-related notices through your chosen method of delivery, whether via paper or email. Any Paperless Policy notification we\r\n send will be dated when sent to the e-mail address on file, even if a document is sent both electronically and as a paper copy. A paper copy does not alter the\r\n delivery date of the electronic document or any deadlines or responsibilities referenced by the document.\r\n </p>\r\n <p>\r\n We do not charge a separate fee for your use of Paperless Policy, but your wireless carrier or internet service provider may charge message, data, or other rates\r\n or fees for these notifications or your use of cellular data or internet to access these notifications.\r\n </p>\r\n <p>\r\n The enrolled e-mail will begin receiving Paperless Policy notifications regarding the selected policies shortly after enrollment. The frequency of e-mails and\r\n the timing of receipt of e-mails will depend on a variety of factors, including, but not limited to, the term of enrollment.\r\n </p>\r\n <p>\r\n Paperless Policy should be available through your electronic or mobile devices when in operating range of your wireless or internet service provider. However,\r\n this service may not be available through all wireless carriers or internet service providers, and certain functionalities of Paperless Policy may not be supported\r\n by your wireless carrier or internet service provider. It is your responsibility to contact your wireless carrier or internet service provider with questions regarding\r\n any issues, including rates, fees, and coverage. We cannot guarantee that Paperless Policy notifications provided through your wireless carrier or internet service\r\n provider will be delivered to you and are not liable for any delayed or undelivered Paperless Policy notifications.\r\n </p>\r\n <p>\r\n WE DO NOT WARRANT THAT THE INFORMATION, PROCESSES, OR SERVICES WILL BE UNINTERRUPTED, ACCURATE, COMPLETE, USEFUL, FUNCTIONAL, BUG, OR ERROR-FREE. TO THE EXTENT\r\n PERMITTED BY LAW, THIS SERVICE IS PROVIDED “AS IS”, “WITH ALL FAULTS”, AND WITHOUT EXPRESS OR IMPLIED WARRANTIES OF ANY KIND, INCLUDING\r\n THE FOLLOWING EXPRESSLY DISCLAIMED WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. YOU ASSUME ALL RESPONSIBILITY AND\r\n RISK FOR USE OF PAPERLESS POLICY.\r\n </p>\r\n <p>\r\n It is your responsibility to provide us with an accurate and complete e-mail address, and to promptly update your Online Account with any changes to your e-mail\r\n address. Changes to your e-mail address used for Paperless Policy purposes will only update the e-mail address used for Paperless Policy, and will not update any\r\n other e-mail addresses you have registered with us.\r\n </p>\r\n <p>\r\n Please ensure that you have disabled any spam or other filters that may prevent the delivery of a Paperless Policy notification to you. Additionally, please ensure\r\n that your e-mail is active and capable of receiving new e-mails. We are not responsible for problems arising from e-mails sent to an inactive or out-of-date e-mail\r\n address. You further acknowledge that we will continue to send Paperless Policy notifications to the enrolled e-mail address until you change or unenroll that e-mail\r\n address. You will receive a confirmation by e-mail when we have received a request to discontinue Paperless Policy notifications. Discontinuing Paperless Policy\r\n notifications will resume paper policy documents within fifteen (15) business days.\r\n </p>\r\n <p>\r\n At any time, you may provide updates to contacts and enrolled e-mail addresses or opt out of Paperless Policy notifications in the “Manage My Account”\r\n section of our website. You may subsequently re-enroll in Paperless Policy at any time if you so choose.\r\n </p>\r\n <p>\r\n In lieu of paper policy documents, you will be sent an e-mail notification with a link to your online account where you can “View Policy Documents”.\r\n Click on the link contained in the e-mail to access your account and view Paperless Policy documents or simply go the “My Accounts” section of our website\r\n and log in to your account at any time. You will be required to enter a User ID and Password to access documents. The document will appear as a .PDF document when\r\n viewed, so you will need compatible software capable of opening and viewing .PDF documents, such as that provided by Adobe Systems, Inc.\r\n </p>\r\n <p>\r\n You are responsible for use of the Paperless Policy service and are fully responsible for any payments to your account. If you believe a person not authorized\r\n by you has gained access to your e-mail, you must notify us promptly of any such unauthorized access. You are responsible and assume the risk for any loss, theft,\r\n or unauthorized use of your e-mail address, which could permit unauthorized persons to have access to your personal information and account information and/or use\r\n such information for unauthorized purposes.\r\n </p>\r\n <p>\r\n We may change these Terms and Conditions at any point and will provide you notice of the updated Terms and Conditions. However, your continued use of this Paperless\r\n Policy service represents your ongoing acceptance of these Terms and Conditions.\r\n </p>\r\n <p>\r\n AGREEMENT TO ARBITRATE<br />\r\n YOU AGREE TO ARBITRATE ANY AND ALL DISPUTES, CONTROVERSIES, OR CLAIMS BETWEEN, ON THE ONE HAND, YOU OR ANYONE ELSE ASSERTING A CLAIM BELONGING TO, OBTAINED THROUGH,\r\n OR ON BEHALF OF YOU, AND, ON THE OTHER HAND, US, OUR AFFILIATES, AND ANY OF OUR OR THEIR OFFICERS, DIRECTORS, EMPLOYEES, CONTRACTORS, AND/OR REPRESENTATIVES, ARISING\r\n OUT OF OR RELATED IN ANY WAY TO: (I) THESE TERMS AND CONDITIONS AND/OR (II) PAPERLESS POLICY (THE “COVERED CLAIMS”). AN “AFFILIATE” SHALL MEAN\r\n ANY ENTITY CONTROLLED BY OR UNDER COMMON CONTROL WITH, DIRECTLY OR INDIRECTLY, THE TEXAS FARM BUREAU (WHICH SHALL INCLUDE WITHOUT LIMITATION CONTROL EXERCISED BY\r\n MANAGEMENT CONTRACT, PROXIES, OR ANY OTHER MEANS). FOR ALL COVERED CLAIMS, YOU AGREE THAT ARBITRATION SHALL BE THE EXCLUSIVE REMEDY AND SHALL BE FINAL AND BINDING.\r\n JUDGMENT UPON ANY ARBITRATION AWARD MAY BE ENTERED IN ANY COURT OF COMPETENT JURISDICTION.\r\n </p>\r\n <p>\r\n <strong>\r\n YOU UNDERSTAND AND AGREE THAT ARBITRATION IS THE ONLY LITIGATION FORUM FOR RESOLVING A COVERED CLAIM, AND THAT BOTH WE AND YOU ARE WAIVING A RIGHT TO A TRIAL\r\n BEFORE A JUDGE OR JURY IN FEDERAL OR STATE COURT IN FAVOR OF ARBITRATION.\r\n </strong>\r\n </p>\r\n <p>\r\n YOUR COVERED CLAIM(S) WILL BE DETERMINED IN AN INDIVIDUAL PROCEEDING AND MAY NOT BE JOINED TOGETHER WITH THE CLAIMS OF ANY OTHER PERSONS WITHOUT THE EXPRESS WRITTEN\r\n CONSENT OF ALL THE OTHER PARTIES TO THE PROCEEDING. YOU AGREE TO WAIVE ANY RIGHT TO COMMENCE OR PARTICIPATE IN A CLASS, COLLECTIVE, OR REPRESENTATIVE ACTION; AND\r\n ANY RIGHT TO UTILIZE CLASS-ACTION, COLLECTIVE-ACTION, OR REPRESENTATIVE-ACTION PROCEDURES. (THIS PARAGRAPH IS REFERRED TO AS THE “CLASS ACTION WAIVER”).\r\n <strong>\r\n THE CLASS ACTION WAIVER PRECLUDES YOU OR ANY PARTY FROM PARTICIPATING IN OR BEING REPRESENTED IN ANY CLASS, COLLECTIVE, OR REPRESENTATIVE ACTION REGARDING A\r\n COVERED CLAIM IN ANY FORUM.\r\n </strong>\r\n </p>\r\n <p>\r\n IN ARBITRATION, THE ARBITRATOR SHALL HAVE NO POWER TO ARBITRATE ANY FORM OF A CLASS, COLLECTIVE, OR REPRESENTATIVE PROCEEDING; TO UTILIZE CLASS-ACTION,\r\n COLLECTIVE-ACTION, OR REPRESENTATIVE-ACTION PROCEDURES; OR TO COMBINE A COVERED CLAIM WITH ANY OTHER CLAIM THAT IS NOT A COVERED CLAIM. EACH PARTY SHALL\r\n ASSERT IN ONE PROCEEDING ALL OF THE PARTY’S COVERED CLAIMS AGAINST THE OTHER PARTIES ARISING OUT OF THE SAME TRANSACTION OR OCCURRENCE OR SERIES OF\r\n TRANSACTIONS OR OCCURRENCES. IF THE CLASS ACTION WAIVER IS, BY FORCE OF LAW, LIMITED, VOIDED, OR DETERMINED TO BE ILLEGAL, INVALID, OR OTHERWISE UNENFORCEABLE,\r\n THEN THIS AGREEMENT TO ARBITRATE SHALL BE NULL AND VOID WITH RESPECT TO SUCH PROCEEDING, SUBJECT TO THE RIGHT TO APPEAL THE LIMITATION OR INVALIDATION OF THE CLASS\r\n ACTION WAIVER AND, IF SUCH APPEAL IS SUCCESSFUL, TO ENFORCE THIS AGREEMENT TO ARBITRATE SUBJECT TO THE CLASS ACTION WAIVER.\r\n </p>\r\n <p>\r\n THE ARBITRATOR SHALL HAVE THE EXCLUSIVE AUTHORITY TO RESOLVE ANY AND ALL ISSUES OF ARBITRABILITY, INCLUDING BUT NOT LIMITED TO ISSUES REGARDING THE EXISTENCE,\r\n ENFORCEABILITY, VALIDITY, LEGALITY, UNCONSCIONABILITY, SCOPE, INTERPRETATION, OR APPLICABILITY OF THIS AGREEMENT OR ANY PART THEREOF; NOTWITHSTANDING THE ABOVE,\r\n ANY ISSUES REGARDING THE VALIDITY AND EFFECT OF THE CLASS ACTION WAIVER MAY BE DETERMINED ONLY BY A COURT AND NOT BY AN ARBITRATOR.\r\n </p>\r\n <p>\r\n THE ARBITRATOR SHALL NOT HAVE THE POWER TO GRANT GREATER RELIEF THAN WOULD HAVE BEEN AVAILABLE HAD THE MATTER BEEN HEARD IN COURT. THE ARBITRATOR SHALL BAR A\r\n COVERED CLAIM IF ARBITRATION IS NOT INITIATED WITHIN THE TIME OTHERWISE PERMITTED FOR LEGAL ACTION UNDER THE APPLICABLE LIMITATIONS PERIOD. THE PARTIES DO NOT\r\n WAIVE ANY EXHAUSTION REQUIREMENTS THAT MAY APPLY PRIOR TO ASSERTING A COVERED CLAIM. THE ARBITRATOR SHALL HAVE NO POWER TO VARY OR IGNORE ANY TERM OF THESE\r\n TERMS AND CONDITIONS. THE ARBITRATOR SHALL FOLLOW THE SUBSTANTIVE LAWS OF THE STATE OF TEXAS (WITHOUT REFERENCE TO ITS CHOICE-OF-LAW PRINCIPLES) AND ANY\r\n APPLICABLE FEDERAL LAW.\r\n </p>\r\n <p>\r\n WE WILL PAY ALL ARBITRATOR COSTS AND ADMINISTRATIVE FEES OF THE ARBITRATION EXCEPT FOR ANY INITIAL FILING FEE FOR A CLAIM BROUGHT BY YOU, WHICH FEE SHALL BE\r\n PAID BY YOU UP TO THE LESSER OF $400 OR THE COST OF FILING A NEW CIVIL SUIT IN THE U.S. DISTRICT COURT FOR THE WESTERN DISTRICT OF TEXAS. THE PARTIES WILL BE\r\n RESPONSIBLE FOR THEIR OWN ATTORNEY’S FEES UNLESS OTHERWISE ORDERED BY THE ARBITRATOR IN ACCORDANCE WITH APPLICABLE LAW. ARBITRATION SHALL BE CONDUCTED BY\r\n A SINGLE ARBITRATOR SELECTED THROUGH THE AMERICAN ARBITRATION ASSOCIATION (“AAA”). THE PROCEEDING SHALL BE GOVERNED BY THE COMMERCIAL ARBITRATION\r\n RULES OF THE AAA IN EFFECT AT THE TIME THE ARBITRATION IS COMMENCED, BUT ONLY TO THE EXTENT CONSISTENT WITH THIS AGREEMENT. VENUE FOR THE ARBITRATION PROCEEDING\r\n SHALL BE IN MCLENNAN COUNTY, TEXAS.\r\n </p>\r\n <p>\r\n THIS AGREEMENT TO ARBITRATE IS MADE PURSUANT TO AND SHALL BE GOVERNED BY THE FEDERAL ARBITRATION ACT. EXCEPT AS MAY BE REQUIRED BY LAW OR AS NECESSARY IN A\r\n PROCEEDING TO CONFIRM OR ENFORCE AN ARBITRATION AWARD, NEITHER A PARTY NOR AN ARBITRATOR MAY DISCLOSE THE EXISTENCE, CONTENT, OR RESULTS OF ANY ARBITRATION\r\n UNDER THESE TERMS AND CONDITIONS. AN ARBITRATION AWARD AND ANY JUDGMENT CONFIRMING AN AWARD WILL APPLY ONLY TO THE SPECIFIC CASE ADJUDICATED AND SHALL NOT BE\r\n USED IN ANY OTHER CASE OR ARBITRATION PROCEEDING EXCEPT TO ENFORCE THE AWARD.\r\n </p>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"text-center\">\r\n <v-btn plain\r\n class=\"tfb-expand-terms-button mx-auto\"\r\n @click=\"showingFullEmail = !showingFullEmail\">Read {{ showingFullEmail ? \"Less\" : \"More\" }}</v-btn>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"text-center\">\r\n <span class=\"font-weight-bold\">Paperless Policy Notifications Notifications will be sent to: </span>{{emailAddress}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"text-center\">\r\n <span class=\"font-weight-bold\">Please enter your initials by each change.</span>\r\n </v-col>\r\n </v-row>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form ref=\"form\"\r\n v-if=\"paperlessRequest\"\r\n @submit.stop.prevent=\"handleSubmit(savePaperlessChanges)\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-data-table :headers=\"paperlessHeaders\"\r\n :items=\"paperlessRequest\"\r\n hide-default-footer\r\n disable-sort>\r\n <template v-slot:item.NewPaperless=\"{ item }\">\r\n <span v-if=\"item.NewPaperless\">\r\n Enroll\r\n </span>\r\n <span v-else>\r\n Unenroll\r\n </span>\r\n </template>\r\n <template v-slot:item.MemberInitials=\"{ item }\">\r\n <text-input rules=\"required|min:2|max:3\"\r\n dense\r\n minlength=\"2\"\r\n maxlength=\"3\"\r\n label=\"Initials\"\r\n v-model=\"item.MemberInitials\"\r\n :vid=\"item.PolicyNumber\"></text-input>\r\n </template>\r\n </v-data-table>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n @click=\"cancelPaperlessChanges()\"\r\n class=\"tfb-button background-red\">Cancel</v-btn>\r\n </v-col>\r\n <v-col cols=\"6\">\r\n <v-btn block\r\n type=\"submit\"\r\n :disabled=\"formDisabled\"\r\n class=\"tfb-button background-red\">Accept</v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </v-container>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import { dispatch } from 'vuex-pathify';\r\n import { ValidationObserver } from 'vee-validate';\r\n import tfbMetaInfo from '@/mixins/metaInfo';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import { insuredAccessOnlyErrorMessage } from '@/mixins/errorMessages';\r\n\r\n export default {\r\n name: 'ChangePaperless',\r\n mixins: [tfbMetaInfo, tfbHelperMixin],\r\n components: {\r\n ValidationObserver,\r\n },\r\n data() {\r\n return {\r\n formDisabled: false,\r\n showingFullEmail: false,\r\n showPaperlessTerms: true,\r\n enrollRequests: [],\r\n unEnrollRequests: [],\r\n paperlessHeaders: [\r\n { text: 'Policy', align: 'start', value: 'PolicyNumber' },\r\n { text: 'Action', value: 'NewPaperless' },\r\n { text: 'Initials', value: 'MemberInitials' },\r\n ],\r\n };\r\n },\r\n computed: {\r\n metaPageTitle() {\r\n return 'Paperless Policy Notifications Terms and Conditions | PolicyHolder';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/policyholder/policy/paperless`;\r\n },\r\n paperlessRequest() {\r\n try {\r\n return this.$store.getters['policy/paperlessRequest'];\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n emailAddress() {\r\n try {\r\n return this.$store.getters['member/emailAddress'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n memberId() {\r\n try {\r\n return this.$store.getters['member/memberId'];\r\n } catch (error) {\r\n return '0';\r\n }\r\n },\r\n memberNumber() {\r\n try {\r\n return this.$store.getters['member/memberNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n },\r\n methods: {\r\n cancelPaperlessChanges() {\r\n // Clear the request\r\n this.$store.commit('policy/SET_PAPERLESS_REQUEST', null);\r\n // Go back to Management screen\r\n this.$router.push({ name: 'policyholderAccountManagement' });\r\n },\r\n savePaperlessChanges() {\r\n dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: `${this.memberId}-${this.memberNumber}`,\r\n fileName: 'ChangePaperless.vue',\r\n methodName: 'savePaperlessChanges-Start',\r\n trackerId: this.trackingId,\r\n });\r\n\r\n // Split the changes into enroll/unenroll\r\n for (let p = 0; p < this.paperlessRequest.length; p += 1) {\r\n const policy = this.paperlessRequest[p];\r\n\r\n if (policy.NewPaperless && policy.NewPaperless === true) {\r\n this.enrollRequests.push(policy);\r\n } else {\r\n this.unEnrollRequests.push(policy);\r\n }\r\n }\r\n\r\n if (this.enrollRequests.length > 0) {\r\n // Call service\r\n dispatch('policy/setupPaperless', {\r\n sEmailAddress: this.emailAddress, sMemberNumber: this.memberNumber, sMemberId: this.memberId, sPolicyList: this.paperlessRequest, sTfbId: this.trackingId,\r\n })\r\n .then((setupResult) => {\r\n if (setupResult) {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: setupResult,\r\n fileName: 'ChangePaperless.vue',\r\n methodName: 'setupPaperless-Response',\r\n trackerId: this.trackingId,\r\n });\r\n // Handle return\r\n if (setupResult.ErrorMessage) {\r\n dispatch('app/setErrorMessage', setupResult.ErrorMessage);\r\n dispatch('app/setIsLoading', false);\r\n } else {\r\n // Clear Account Summary to refetch\r\n this.$store.commit('policy/CLEAR_ACCOUNT_SUMMARY');\r\n // Clear the request\r\n this.$store.commit('payments/SET_PAPERLESS_REQUEST', null);\r\n // Fetch the Account/Account Bill Summary information again\r\n dispatch('policy/getAccountSummary', { sMemberNumber: this.memberNumber, sTfbId: this.trackingId });\r\n // Go back to Summary screen\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n }\r\n }\r\n dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'ChangePaperless.vue',\r\n methodName: 'setupPaperless-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n }\r\n\r\n if (this.unEnrollRequests.length > 0) {\r\n // Call service\r\n dispatch('policy/removePaperless', {\r\n sEmailAddress: this.emailAddress, sMemberNumber: this.memberNumber, sMemberId: this.memberId, sPolicyList: this.unEnrollRequests, sTfbId: this.trackingId,\r\n })\r\n .then((setupResult) => {\r\n if (setupResult) {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: setupResult,\r\n fileName: 'ChangePaperless.vue',\r\n methodName: 'removePaperless-Response',\r\n trackerId: this.trackingId,\r\n });\r\n // Handle return\r\n if (setupResult.ErrorMessage) {\r\n dispatch('app/setErrorMessage', setupResult.ErrorMessage);\r\n dispatch('app/setIsLoading', false);\r\n } else {\r\n // Clear the request\r\n this.$store.commit('payments/SET_EBILL_REQUEST', null);\r\n // Clear Account Summary to refetch\r\n this.$store.commit('policy/CLEAR_ACCOUNT_SUMMARY');\r\n // Go back to Summary screen\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n }\r\n }\r\n dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Error',\r\n logMessage: error,\r\n fileName: 'ChangePaperless.vue',\r\n methodName: 'removePaperless-Catch',\r\n trackerId: this.trackingId,\r\n });\r\n dispatch('app/setErrorMessage', error.toString());\r\n dispatch('app/setIsLoading', false);\r\n });\r\n }\r\n },\r\n },\r\n mounted() {\r\n dispatch('app/clearErrorMessage');\r\n dispatch('app/setIsLoading', true);\r\n\r\n if (!this.isLoggedIn) {\r\n // Invalid login - go back to login screen\r\n this.$router.push({ name: 'policyholderLogin' });\r\n } else if (!this.isMemberRole) {\r\n // Not the member, don't allow changes\r\n this.formDisabled = true;\r\n this.$store.dispatch('app/setErrorMessage', insuredAccessOnlyErrorMessage);\r\n } else if (!this.paperlessRequest || this.paperlessRequest === null) {\r\n // No request values, push back to Management screen\r\n this.$router.push({ name: 'policyholderAccountManagement' });\r\n }\r\n dispatch('app/setIsLoading', false);\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangePolicyPaperless.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangePolicyPaperless.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChangePolicyPaperless.vue?vue&type=template&id=6be38873\"\nimport script from \"./ChangePolicyPaperless.vue?vue&type=script&lang=js\"\nexport * from \"./ChangePolicyPaperless.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"background-darker-blue quote-layout\",attrs:{\"fluid\":\"\",\"id\":\"quote-layout\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[(!_vm.isHomePage)?_c('v-col',{staticClass:\"background-lightest-gray no-print\",attrs:{\"cols\":\"12\",\"sm\":_vm.isHomePage ? 12 : 3,\"order\":\"1\",\"order-sm\":\"2\"}},[_c('progress-sidebar')],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":_vm.isHomePage ? 12 : 9,\"order\":\"2\",\"order-sm\":\"1\"}},[_c('router-view')],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"progress-sidebar no-print\",attrs:{\"fluid\":\"\"}},[_c('as-low-as'),_c('v-expansion-panels',{attrs:{\"accordion\":\"\",\"multiple\":\"\"}},[_c('v-expansion-panel',{attrs:{\"readonly\":\"\"}},[_c('v-expansion-panel-header',{attrs:{\"disable-icon-rotate\":\"\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [(_vm.agreementNumber === '')?_c('v-icon',[_vm._v(\"mdi-close\")]):_c('v-icon',[_vm._v(\"mdi-check\")])]},proxy:true}])},[_c('router-link',{staticClass:\"progress-header-link\",attrs:{\"to\":{ name: 'quoteAboutYou'}}},[_vm._v(\"About You\")])],1)],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"progress-header-link\",attrs:{\"disable-icon-rotate\":\"\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [(_vm.hasVehicle)?_c('v-icon',[_vm._v(\"mdi-check\")]):_c('v-icon',[_vm._v(\"mdi-close\")])]},proxy:true}])},[_vm._v(\" Vehicles \")]),_c('v-expansion-panel-content',_vm._l((_vm.quote.Vehicles),function(vehicle){return _c('v-row',{key:vehicle.VehicleSequenceNumber},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-icon',[_vm._v(\"mdi-car\")]),_vm._v(\" \"),_c('router-link',{staticClass:\"progress-link\",attrs:{\"to\":{ name: 'quoteVehicleId', params: { id: vehicle.VehicleSequenceNumber }}}},[_vm._v(_vm._s(vehicle.Description))])],1)],1)}),1)],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"progress-header-link\",attrs:{\"disable-icon-rotate\":\"\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [(_vm.hasDriver)?_c('v-icon',[_vm._v(\"mdi-check\")]):_c('v-icon',[_vm._v(\"mdi-close\")])]},proxy:true}])},[_vm._v(\" Drivers \")]),_c('v-expansion-panel-content',_vm._l((_vm.quote.Operators),function(driver){return _c('v-row',{key:driver.DriverSequenceNumber},[_c('v-col',{attrs:{\"cols\":\"12\"}},[(driver.Gender === 'F')?_c('v-icon',[_vm._v(\"mdi-human-female\")]):(driver.Gender === 'M')?_c('v-icon',[_vm._v(\"mdi-human-male\")]):_c('v-icon',[_vm._v(\"mdi-account\")]),_vm._v(\" \"),_c('router-link',{staticClass:\"progress-link\",attrs:{\"to\":{ name: 'quoteDriverId', params: { id: driver.DriverSequenceNumber }}}},[_vm._v(_vm._s(driver.FirstName)+\" \"+_vm._s(driver.LastName))])],1)],1)}),1)],1),_c('v-expansion-panel',{attrs:{\"readonly\":\"\"}},[_c('v-expansion-panel-header',{attrs:{\"disable-icon-rotate\":\"\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [(_vm.hasCoverage)?_c('v-icon',[_vm._v(\"mdi-check\")]):_c('v-icon',[_vm._v(\"mdi-close\")])]},proxy:true}])},[_c('router-link',{staticClass:\"progress-header-link\",attrs:{\"to\":{ name: 'quoteCoverage' }}},[_vm._v(\"Coverages\")])],1)],1),(_vm.isComplete)?_c('v-expansion-panel',{attrs:{\"readonly\":\"\"}},[_c('v-expansion-panel-header',{staticClass:\"text-center\",attrs:{\"hide-actions\":\"\"}},[_c('router-link',{staticClass:\"progress-header-link\",attrs:{\"to\":{ name: 'quoteSummary' }}},[_vm._v(\"Summary\")])],1)],1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.asLowAsAmount && _vm.asLowAsAmount !== '0')?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h5',{staticClass:\"text-blue\"},[_vm._v(\"Watch your monthly quote change as you fill in the information.\")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"text-uppercase text-red\"},[_vm._v(\" Your Current Quote is \"+_vm._s(_vm.asLowAsAmount)+\" \")])])],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div v-if=\"asLowAsAmount && asLowAsAmount !== '0'\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h5 class=\"text-blue\">Watch your monthly quote change as you fill in the information.</h5>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h3 class=\"text-uppercase text-red\">\r\n Your Current Quote is {{asLowAsAmount}}\r\n </h3>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'AsLowAs',\r\n mixins: [tfbHelperMixin],\r\n computed: {\r\n asLowAsAmount() {\r\n try {\r\n return this.$store.getters['quotes/asLowAmount'];\r\n } catch (error) {\r\n return '0';\r\n }\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AsLowAs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AsLowAs.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AsLowAs.vue?vue&type=template&id=472d74a9\"\nimport script from \"./AsLowAs.vue?vue&type=script&lang=js\"\nexport * from \"./AsLowAs.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <v-container fluid\r\n class=\"progress-sidebar no-print\">\r\n <as-low-as></as-low-as>\r\n <v-expansion-panels accordion\r\n multiple>\r\n <v-expansion-panel readonly>\r\n <v-expansion-panel-header disable-icon-rotate>\r\n <router-link :to=\"{ name: 'quoteAboutYou'}\"\r\n class=\"progress-header-link\">About You</router-link>\r\n <template v-slot:actions>\r\n <v-icon v-if=\"agreementNumber === ''\">mdi-close</v-icon>\r\n <v-icon v-else>mdi-check</v-icon>\r\n </template>\r\n </v-expansion-panel-header>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header disable-icon-rotate\r\n class=\"progress-header-link\">\r\n Vehicles\r\n <template v-slot:actions>\r\n <v-icon v-if=\"hasVehicle\">mdi-check</v-icon>\r\n <v-icon v-else>mdi-close</v-icon>\r\n </template>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content>\r\n <v-row v-for=\"vehicle in quote.Vehicles\"\r\n :key=\"vehicle.VehicleSequenceNumber\">\r\n <v-col cols=\"12\">\r\n <v-icon>mdi-car</v-icon> <router-link :to=\"{ name: 'quoteVehicleId', params: { id: vehicle.VehicleSequenceNumber }}\"\r\n class=\"progress-link\">{{vehicle.Description}}</router-link>\r\n </v-col>\r\n </v-row>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel>\r\n <v-expansion-panel-header disable-icon-rotate\r\n class=\"progress-header-link\">\r\n Drivers\r\n <template v-slot:actions>\r\n <v-icon v-if=\"hasDriver\">mdi-check</v-icon>\r\n <v-icon v-else>mdi-close</v-icon>\r\n </template>\r\n </v-expansion-panel-header>\r\n <v-expansion-panel-content>\r\n <v-row v-for=\"driver in quote.Operators\"\r\n :key=\"driver.DriverSequenceNumber\">\r\n <v-col cols=\"12\">\r\n <v-icon v-if=\"driver.Gender === 'F'\">mdi-human-female</v-icon>\r\n <v-icon v-else-if=\"driver.Gender === 'M'\">mdi-human-male</v-icon>\r\n <v-icon v-else>mdi-account</v-icon> <router-link :to=\"{ name: 'quoteDriverId', params: { id: driver.DriverSequenceNumber }}\"\r\n class=\"progress-link\">{{driver.FirstName}} {{driver.LastName}}</router-link>\r\n </v-col>\r\n </v-row>\r\n </v-expansion-panel-content>\r\n </v-expansion-panel>\r\n <v-expansion-panel readonly>\r\n <v-expansion-panel-header disable-icon-rotate>\r\n <router-link :to=\"{ name: 'quoteCoverage' }\"\r\n class=\"progress-header-link\">Coverages</router-link>\r\n <template v-slot:actions>\r\n <v-icon v-if=\"hasCoverage\">mdi-check</v-icon>\r\n <v-icon v-else>mdi-close</v-icon>\r\n </template>\r\n </v-expansion-panel-header>\r\n </v-expansion-panel>\r\n <v-expansion-panel readonly\r\n v-if=\"isComplete\">\r\n <v-expansion-panel-header hide-actions\r\n class=\"text-center\">\r\n <router-link :to=\"{ name: 'quoteSummary' }\"\r\n class=\"progress-header-link\">Summary</router-link>\r\n </v-expansion-panel-header>\r\n </v-expansion-panel>\r\n </v-expansion-panels>\r\n </v-container>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import AsLowAs from './AsLowAs.vue';\r\n\r\n export default {\r\n name: 'QuoteProgress',\r\n mixins: [tfbHelperMixin],\r\n components: {\r\n AsLowAs,\r\n },\r\n data() {\r\n return {\r\n isMobile: this.$vuetify.breakpoint.smAndDown,\r\n };\r\n },\r\n computed: {\r\n agreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/agreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n quote() {\r\n try {\r\n return this.$store.getters['quotes/quote'];\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n subAgreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/subAgreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n hasVehicle() {\r\n if (this.quote && this.quote.Vehicles && this.quote.Vehicles.length > 0) {\r\n if (this.quote.Vehicles[0].VIN && this.quote.Vehicles[0].VIN !== '' && this.quote.Vehicles[0].VIN !== null) {\r\n return true;\r\n }\r\n if (this.quote.Vehicles[0].Year && this.quote.Vehicles[0].Year !== '' && this.quote.Vehicles[0].Year !== null) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n hasDriver() {\r\n if (this.quote && this.quote.Operators && this.quote.Operators.length > 0 && this.quote.Operators[0].DriversLicenseNumber\r\n && this.quote.Operators[0].DriversLicenseNumber !== '' && this.quote.Operators[0].DriversLicenseNumber !== null) {\r\n return true;\r\n }\r\n return false;\r\n },\r\n hasCoverage() {\r\n if (this.quote && this.quote.Quote && this.quote.Quote.SelectedCoverageLevel && this.quote.Quote.SelectedCoverageLevel !== null && this.quote.Quote.SelectedCoverageLevel !== '') {\r\n return true;\r\n }\r\n return false;\r\n },\r\n isComplete() {\r\n if (this.quote && this.quote.Quote && this.quote.Quote.CompletedQuoteIndicator === 'Y') {\r\n return true;\r\n }\r\n return false;\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .progress-sidebar {\r\n color: $black;\r\n }\r\n\r\n .progress-link {\r\n font-weight: 700;\r\n }\r\n\r\n .progress-header-link,\r\n .progress-header-link:visited {\r\n color: $black;\r\n font-weight: 700;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressSidebar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressSidebar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProgressSidebar.vue?vue&type=template&id=1b210cbe\"\nimport script from \"./ProgressSidebar.vue?vue&type=script&lang=js\"\nexport * from \"./ProgressSidebar.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProgressSidebar.vue?vue&type=style&index=0&id=1b210cbe&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <v-container fluid\r\n id=\"quote-layout\"\r\n class=\"background-darker-blue quote-layout\">\r\n <v-row no-gutters>\r\n <v-col cols=\"12\"\r\n :sm=\"isHomePage ? 12 : 3\"\r\n order=\"1\"\r\n order-sm=\"2\"\r\n class=\"background-lightest-gray no-print\"\r\n v-if=\"!isHomePage\">\r\n <progress-sidebar></progress-sidebar>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n :sm=\"isHomePage ? 12 : 9\"\r\n order=\"2\"\r\n order-sm=\"1\">\r\n <router-view></router-view>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n</template>\r\n<script>\r\n import ProgressSidebar from './sidebar/ProgressSidebar.vue';\r\n\r\n export default {\r\n name: 'QuoteLayout',\r\n components: {\r\n ProgressSidebar,\r\n },\r\n computed: {\r\n agreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/agreementNumber'];\r\n } catch (error) {\r\n return '0';\r\n }\r\n },\r\n isHomePage() {\r\n try {\r\n return this.$route.name === 'quoteEntry';\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .quote-layout {\r\n padding: 0px;\r\n margin: 0px;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuoteLayout.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuoteLayout.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./QuoteLayout.vue?vue&type=template&id=23946510\"\nimport script from \"./QuoteLayout.vue?vue&type=script&lang=js\"\nexport * from \"./QuoteLayout.vue?vue&type=script&lang=js\"\nimport style0 from \"./QuoteLayout.vue?vue&type=style&index=0&id=23946510&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"background-darker-blue py-12\"},[_c('h1',{staticClass:\"tfb-title-text-large text-center\"},[_vm._v(\"Auto Quote\")]),_c('h2',{staticClass:\"tfb-title-text-smaller text-center\"},[_vm._v(\" Let’s see if we can save you some money. \")]),_c('v-container',{staticClass:\"tfb-smallest-container tfb-quote-box pa-5 my-8\"},[_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"tfb-title-text-small-bold text-darkest-blue\"},[_vm._v(\"I’d like an auto quote.\")])])],1),_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('p',[_vm._v(\" Information from outside sources such as driving records, prior insurance, claim history, and credit history may be used in calculating this quote. A third party may be used to calculate your insurance score. Information you provide will be shared with outside parties that perform these services on our behalf. We value your privacy. Please review our \"),_c('router-link',{attrs:{\"to\":{ name: 'privacy'},\"hreflang\":\"en-us\"}},[_vm._v(\"Privacy Notice\")]),_vm._v(\". \")],1),_c('p',[_vm._v(\"By clicking “start your quote” and proceeding with this quote, you authorize us to obtain consumer reports for each individual you list in the quote.\")])])],1),_c('v-row',{attrs:{\"justify\":\"end\"}},[_c('v-col',{staticClass:\"float-right\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.hasCaptcha),expression:\"!hasCaptcha\"}],staticClass:\"text-darkest-red\",attrs:{\"role\":\"alert\"}},[_vm._v(\"Please validate you are not a bot.\")]),_c('vue-recaptcha',{ref:\"recaptcha\",attrs:{\"sitekey\":_vm.googleReCaptchaKey},on:{\"verify\":_vm.onVerify,\"expired\":_vm.onExpired}})],1)],1),_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red float-right\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled},on:{\"click\":_vm.onCreate}},[_vm._v(\" Start your quote \")])],1)],1)],1),_c('v-container',{staticClass:\"tfb-smallest-container tfb-quote-box pa-5 mb-10\"},[_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"tfb-title-text-small-bold text-darkest-blue\"},[_vm._v(\"Already have a quote started?\")])])],1),_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('p',[_vm._v(\" Retrieve your saved quote by entering your email address and the password you created when you started your estimate. \")])])],1),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ passes }){return [_c('v-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return passes(_vm.onLogin)}}},[_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|email|valid_domain|min:3|max:250\",\"autocomplete\":\"home email\",\"minlength\":\"3\",\"maxlength\":\"250\",\"label\":\"Email Address\",\"type\":\"email\"},model:{value:(_vm.emailAddress),callback:function ($$v) {_vm.emailAddress=$$v},expression:\"emailAddress\"}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:4|max:25\",\"minlength\":\"4\",\"maxlength\":\"25\",\"label\":\"Password\",\"type\":\"password\"},model:{value:(_vm.passWord),callback:function ($$v) {_vm.passWord=$$v},expression:\"passWord\"}})],1)],1),_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"block\":\"\",\"disabled\":_vm.formDisabled,\"type\":\"submit\"}},[_vm._v(\" Continue your quote \")])],1)],1)],1)]}}])})],1)],1),_c('div',{staticClass:\"background-lightest-gray\"},[_c('v-container',{staticClass:\"pa-10\"},[_c('v-row',[_c('v-col',[_c('v-card',{staticClass:\"fill-height tfb-claim-card\"},[_c('v-card-text',[_c('faqs',{attrs:{\"faq-keyword\":\"quote\"}})],1)],1)],1),_c('v-col',[_c('v-card',{staticClass:\"fill-height tfb-claim-card\"},[_c('v-card-text',{staticClass:\"event-holder row-event box category-list-holder\"},[_c('p',{staticClass:\"tfb-title-text-smaller font-weight-bold text-uppercase text-blue\"},[_vm._v(\" Our Services \")]),_c('div',{staticClass:\"holder\"},[_c('ul',{staticClass:\"category-list\"},_vm._l((_vm.blogPosts),function(post){return _c('li',{key:post.id},[_c('router-link',{staticClass:\"link-stretched\",attrs:{\"to\":{ name: 'blogPost',\n params: { category: _vm.kebabify(post.urlCategory),\n title: _vm.kebabify(post.url) } },\"hreflang\":\"en-us\"}}),_c('v-img',{staticClass:\"img-post\",attrs:{\"src\":post.headerImage}}),_c('div',{staticClass:\"title-container\"},[(!post.subcategory || post.subcategory === null || post.subcategory === '')?_c('router-link',{staticClass:\"category-link\",attrs:{\"to\":{ name: 'blogFeedCategory', params: { category: _vm.kebabify(post.category) } },\"hreflang\":\"en-us\"}},[_vm._v(\" \"+_vm._s(post.category)+\" \")]):_c('router-link',{staticClass:\"category-link\",attrs:{\"to\":{ name: 'blogFeedSubCategory',\n params: { category: _vm.kebabify(post.category), subcategory: _vm.kebabify(post.subcategory) } },\"hreflang\":\"en-us\"}},[_vm._v(\" \"+_vm._s(post.subcategory)+\" \")]),_c('strong',{staticClass:\"title-post\",staticStyle:{\"overflow-wrap\":\"break-word\"}},[_vm._v(_vm._s(post.title))])],1),_c('script',{attrs:{\"type\":\"application/ld+json\"},domProps:{\"innerHTML\":_vm._s(post.jsonld)}})],1)}),0)])])],1)],1)],1)],1),_c('meet-agents')],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <div class=\"background-darker-blue py-12\">\r\n <h1 class=\"tfb-title-text-large text-center\">Auto Quote</h1>\r\n <h2 class=\"tfb-title-text-smaller text-center\">\r\n Let’s see if we can save you some money.\r\n </h2>\r\n <v-container class=\"tfb-smallest-container tfb-quote-box pa-5 my-8\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-1\">\r\n <h3 class=\"tfb-title-text-small-bold text-darkest-blue\">I’d like an auto quote.</h3>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-1\">\r\n <p>\r\n Information from outside sources such as driving records, prior insurance, claim history, and credit history may be used in calculating this quote.\r\n A third party may be used to calculate your insurance score. Information you provide will be shared with outside parties that perform these services on our behalf.\r\n We value your privacy. Please review our <router-link :to=\"{ name: 'privacy'}\"\r\n hreflang=\"en-us\">Privacy Notice</router-link>.\r\n </p>\r\n <p>By clicking “start your quote” and proceeding with this quote, you authorize us to obtain consumer reports for each individual you list in the quote.</p>\r\n </v-col>\r\n </v-row>\r\n <v-row justify=\"end\">\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n class=\"float-right\">\r\n <span role=\"alert\"\r\n v-show=\"!hasCaptcha\"\r\n class=\"text-darkest-red\">Please validate you are not a bot.</span>\r\n <vue-recaptcha ref=\"recaptcha\"\r\n @verify=\"onVerify\"\r\n @expired=\"onExpired\"\r\n :sitekey=\"googleReCaptchaKey\"></vue-recaptcha>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-spacer></v-spacer>\r\n <v-col cols=\"12\"\r\n sm=\"6\">\r\n <v-btn block\r\n @click=\"onCreate\"\r\n :disabled=\"formDisabled\"\r\n class=\"tfb-button background-red float-right\">\r\n Start your quote\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <v-container class=\"tfb-smallest-container tfb-quote-box pa-5 mb-10\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-1\">\r\n <h3 class=\"tfb-title-text-small-bold text-darkest-blue\">Already have a quote started?</h3>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-1\">\r\n <p>\r\n Retrieve your saved quote by entering your email address and the password you created when you started your estimate.\r\n </p>\r\n </v-col>\r\n </v-row>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ passes }\">\r\n <v-form @submit.stop.prevent=\"passes(onLogin)\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-1\">\r\n <text-input rules=\"required|email|valid_domain|min:3|max:250\"\r\n autocomplete=\"home email\"\r\n minlength=\"3\"\r\n maxlength=\"250\"\r\n label=\"Email Address\"\r\n v-model=\"emailAddress\"\r\n type=\"email\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-1\">\r\n <text-input rules=\"required|min:4|max:25\"\r\n minlength=\"4\"\r\n maxlength=\"25\"\r\n label=\"Password\"\r\n v-model=\"passWord\"\r\n type=\"password\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-spacer></v-spacer>\r\n <v-col cols=\"12\"\r\n sm=\"6\">\r\n <v-btn block\r\n :disabled=\"formDisabled\"\r\n type=\"submit\"\r\n class=\"tfb-button background-red\">\r\n Continue your quote\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </v-container>\r\n </div>\r\n <div class=\"background-lightest-gray\">\r\n <!--<quote-process></quote-process>-->\r\n <v-container class=\"pa-10\">\r\n <v-row>\r\n <v-col>\r\n <v-card class=\"fill-height tfb-claim-card\">\r\n <v-card-text>\r\n <faqs faq-keyword=\"quote\"></faqs>\r\n </v-card-text>\r\n </v-card>\r\n </v-col>\r\n <v-col>\r\n <v-card class=\"fill-height tfb-claim-card\">\r\n <v-card-text class=\"event-holder row-event box category-list-holder\">\r\n <p class=\"tfb-title-text-smaller font-weight-bold text-uppercase text-blue\">\r\n Our Services\r\n </p>\r\n <div class=\"holder\">\r\n <ul class=\"category-list\">\r\n <li v-for=\"post in blogPosts\"\r\n v-bind:key=\"post.id\">\r\n <router-link :to=\"{ name: 'blogPost',\r\n params: { category: kebabify(post.urlCategory),\r\n title: kebabify(post.url) } }\"\r\n class=\"link-stretched\"\r\n hreflang=\"en-us\">\r\n </router-link>\r\n <v-img :src=\"post.headerImage\"\r\n class=\"img-post\"></v-img>\r\n <div class=\"title-container\">\r\n <router-link class=\"category-link\"\r\n :to=\"{ name: 'blogFeedCategory', params: { category: kebabify(post.category) } }\"\r\n v-if=\"!post.subcategory || post.subcategory === null || post.subcategory === ''\"\r\n hreflang=\"en-us\">\r\n {{ post.category }}\r\n </router-link>\r\n <router-link v-else\r\n class=\"category-link\"\r\n :to=\"{ name: 'blogFeedSubCategory',\r\n params: { category: kebabify(post.category), subcategory: kebabify(post.subcategory) } }\"\r\n hreflang=\"en-us\">\r\n {{post.subcategory}}\r\n </router-link>\r\n <strong class=\"title-post\" style=\"overflow-wrap: break-word;\">{{ post.title }}</strong>\r\n </div>\r\n <script type=\"application/ld+json\" v-html=\"post.jsonld\">\r\n </script>\r\n </li>\r\n </ul>\r\n </div>\r\n </v-card-text>\r\n </v-card>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <meet-agents></meet-agents>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\n import DOMPurify from 'dompurify';\r\n import { ValidationObserver } from 'vee-validate';\r\n import VueRecaptcha from 'vue-recaptcha';\r\n import Faqs from '@/views/content/components/FAQs.vue';\r\n import MeetAgents from '@/views/agents/components/MeetAgents.vue';\r\n // import QuoteProcess from './components/QuoteProcess.vue';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import { genericErrorMessage } from '@/mixins/errorMessages';\r\n\r\n export default {\r\n name: 'AutoQuoteEntry',\r\n mixins: [tfbHelperMixin, tfbDataMixin, tfbMetaMixin],\r\n components: {\r\n VueRecaptcha,\r\n ValidationObserver,\r\n // QuoteProcess,\r\n Faqs,\r\n MeetAgents,\r\n },\r\n data() {\r\n return {\r\n formDisabled: false,\r\n hasCaptcha: true,\r\n dialog: false,\r\n captchaText: '',\r\n emailAddress: '',\r\n passWord: '',\r\n blogLoading: true,\r\n blogPosts: [],\r\n };\r\n },\r\n computed: {\r\n metaDescription() {\r\n return 'Looking for an auto insurance quote? Use our online tool to learn how Texas Farm Bureau Insurance can help provide coverage for your precious ride.';\r\n },\r\n metaPageTitle() {\r\n return 'Find an Auto Quote';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/quotes/auto`;\r\n },\r\n googleReCaptchaKey() {\r\n return process.env.VUE_APP_GOOGLE_RECAPTCHA_KEY;\r\n },\r\n storedZipCode() {\r\n return this.$store.state.location.zipCode;\r\n },\r\n isTimedOut() {\r\n try {\r\n return this.$store.getters['quotes/timeout'];\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n },\r\n methods: {\r\n loadBlogPosts() {\r\n this.blogLoading = true;\r\n this.blogPosts = [];\r\n this.fetchKeywordPosts()\r\n .then((foundPosts) => {\r\n this.blogPosts = foundPosts;\r\n if (this.blogPosts.length < 4) {\r\n this.fetchAdditionalPosts();\r\n }\r\n this.blogLoading = false;\r\n });\r\n },\r\n fetchKeywordPosts() {\r\n return new Promise((resolve) => {\r\n this.$store.dispatch('blog/getPostsByTags', {\r\n sKeywords: ['quote', 'rate', 'auto'], sTop: 4, sTfbId: this.trackingId,\r\n })\r\n .then((foundPosts) => {\r\n resolve(foundPosts);\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n resolve([]);\r\n });\r\n });\r\n },\r\n fetchAdditionalPosts() {\r\n return new Promise((resolve) => {\r\n if (this.blogPosts.length < 4) {\r\n this.$store.dispatch('blog/getPostsByTag', {\r\n sKeyword: 'insurance', sTop: 4, sTfbId: this.trackingId,\r\n })\r\n .then((foundPosts) => {\r\n for (let f = 0; f < foundPosts.length; f += 1) {\r\n if (this.blogPosts.length < 4) {\r\n this.blogPosts.push(foundPosts[f]);\r\n }\r\n }\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n }\r\n resolve();\r\n });\r\n },\r\n onCaptchaSubmit() {\r\n this.hasCaptcha = true;\r\n this.$refs.invisibleRecaptcha.execute();\r\n },\r\n onVerify(response) {\r\n this.hasCaptcha = true;\r\n this.captchaText = response;\r\n },\r\n onExpired() {\r\n this.hasCaptcha = false;\r\n this.captchaText = '';\r\n this.$refs.recaptcha.reset();\r\n },\r\n onLogin() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.commit('quotes/SET_TIMEOUT', false);\r\n this.$store.dispatch('quotes/clearToken');\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('quotes/getExistingQuote', {\r\n sEmailAddress: DOMPurify.sanitize(this.emailAddress),\r\n sPassword: DOMPurify.sanitize(this.passWord),\r\n sTfbId: this.trackingId,\r\n })\r\n .then((quoteReturn) => {\r\n if (quoteReturn) {\r\n this.$router.push({ name: 'quoteAboutYou' });\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', genericErrorMessage);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n onCreate() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.commit('quotes/SET_TIMEOUT', false);\r\n this.$store.dispatch('quotes/clearToken');\r\n this.$store.dispatch('app/setIsLoading', true);\r\n\r\n if (!this.hasCaptcha || this.captchaText === '') {\r\n this.onExpired();\r\n this.$store.dispatch('app/setIsLoading', false);\r\n return;\r\n }\r\n\r\n this.$store.dispatch('quotes/requestToken', {\r\n sQuoteToken: this.captchaText,\r\n sTfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n const location = { Address2: '', State: 'TX', ZipCode: '' };\r\n if (this.storedZipCode) {\r\n location.ZipCode = this.storedZipCode;\r\n }\r\n\r\n this.$store.dispatch('quotes/setMaxFutureEffectiveDayLimit');\r\n this.$store.dispatch('quotes/setMaxPastEffectiveDayLimit');\r\n\r\n this.$store.commit('quotes/SET_QUOTE', {\r\n DeathIndemnity: [],\r\n GaragingLocations: [location],\r\n Operators: [{ DriverSequenceNumber: '1', RelationshipToInsuredCode: '1', DateOfBirth: '' }],\r\n Quote: {\r\n AgreementNumber: '',\r\n EffectiveDate: this.parseDate(new Date().toISOString()),\r\n OwnershipCode: 'I',\r\n SelectedCoverageLevel: '',\r\n SubAgreementNumber: '',\r\n TrackingId: this.trackingId,\r\n },\r\n Vehicles: [],\r\n });\r\n this.$router.push({ name: 'quoteAboutYou' });\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n },\r\n mounted() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.$store.dispatch('quotes/clearToken');\r\n this.$store.commit('quotes/CLEAR_QUOTE');\r\n this.$store.commit('quotes/RESET_STATE');\r\n this.loadBlogPosts();\r\n this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'RateQuote', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus !== '') {\r\n this.formDisabled = true;\r\n this.$store.dispatch('app/setErrorMessage', returnedStatus);\r\n } else if (this.isTimedOut) {\r\n this.$store.dispatch('app/setErrorMessage', 'Your session has timed out. Please log in into your quote to continue or start a new one.');\r\n }\r\n this.$store.dispatch('location/setLocation');\r\n this.$store.dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfb-quote-box {\r\n background-color: $white;\r\n color: $black;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoQuoteEntry.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoQuoteEntry.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AutoQuoteEntry.vue?vue&type=template&id=b1327642\"\nimport script from \"./AutoQuoteEntry.vue?vue&type=script&lang=js\"\nexport * from \"./AutoQuoteEntry.vue?vue&type=script&lang=js\"\nimport style0 from \"./AutoQuoteEntry.vue?vue&type=style&index=0&id=b1327642&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"background-darker-blue py-12\"},[_c('h2',{staticClass:\"tfb-title-text-large text-center\"},[_vm._v(\"About You\")]),_c('v-container',{staticClass:\"tfb-smallest-container tfb-quote-box pa-5 my-8\",attrs:{\"fluid\":\"\"}},[(_vm.agreementNumber === '')?_c('v-row',[_c('v-col',{staticClass:\"text-body-2\",attrs:{\"cols\":\"12\"}},[_vm._v(\" Already filled this out? \"),_c('router-link',{attrs:{\"to\":{ name: 'quoteEntry', params: { type: 'auto' }}}},[_vm._v(\"Retrieve your saved quote.\")])],1)],1):_vm._e(),_c('required-fields-row'),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit }){return [(_vm.primaryDriver !== null && _vm.primaryGaragingLocation !== null && _vm.quoteDetails !== null)?_c('v-form',{ref:\"aboutYouForm\",attrs:{\"role\":\"form\",\"name\":\"aboutYouForm\"},on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|name|min:2|max:25\",\"minlength\":\"2\",\"maxlength\":\"25\",\"label\":\"First Name\",\"autocomplete\":\"shipping given-name\",\"autocapitalize\":\"words\"},model:{value:(_vm.primaryDriver.FirstName),callback:function ($$v) {_vm.$set(_vm.primaryDriver, \"FirstName\", $$v)},expression:\"primaryDriver.FirstName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|name|min:2|max:25\",\"minlength\":\"2\",\"maxlength\":\"25\",\"label\":\"Last Name\",\"autocomplete\":\"shipping family-name\",\"autocapitalize\":\"words\"},model:{value:(_vm.primaryDriver.LastName),callback:function ($$v) {_vm.$set(_vm.primaryDriver, \"LastName\", $$v)},expression:\"primaryDriver.LastName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:2|max:250\",\"minlength\":\"2\",\"maxlength\":\"250\",\"label\":\"Physical Address 1\",\"autocomplete\":\"shipping address-line1\",\"autocapitalize\":\"words\"},model:{value:(_vm.primaryGaragingLocation.Address1),callback:function ($$v) {_vm.$set(_vm.primaryGaragingLocation, \"Address1\", $$v)},expression:\"primaryGaragingLocation.Address1\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"min:2|max:250\",\"minlength\":\"2\",\"maxlength\":\"250\",\"label\":\"Physical Address 2\",\"autocomplete\":\"shipping address-line2\",\"autocapitalize\":\"words\"},model:{value:(_vm.primaryGaragingLocation.Address2),callback:function ($$v) {_vm.$set(_vm.primaryGaragingLocation, \"Address2\", $$v)},expression:\"primaryGaragingLocation.Address2\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:2|max:250\",\"minlength\":\"2\",\"maxlength\":\"250\",\"label\":\"Physical City\",\"autocomplete\":\"shipping address-level2\",\"autocapitalize\":\"words\"},model:{value:(_vm.primaryGaragingLocation.City),callback:function ($$v) {_vm.$set(_vm.primaryGaragingLocation, \"City\", $$v)},expression:\"primaryGaragingLocation.City\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|numeric|min:5|max:5\",\"minlength\":\"5\",\"maxlength\":\"5\",\"label\":\"Physical ZIP Code\",\"type\":\"number\",\"autocomplete\":\"shipping postal-code\"},model:{value:(_vm.primaryGaragingLocation.ZipCode),callback:function ($$v) {_vm.$set(_vm.primaryGaragingLocation, \"ZipCode\", $$v)},expression:\"primaryGaragingLocation.ZipCode\"}})],1)],1),(_vm.countyOptions !== null)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Physical County\",\"items\":_vm.countyOptions,\"item-text\":\"CountyName\",\"item-value\":\"CountyCode\",\"autocomplete\":\"home address-level2\"},model:{value:(_vm.primaryGaragingLocation.LocationCounty),callback:function ($$v) {_vm.$set(_vm.primaryGaragingLocation, \"LocationCounty\", $$v)},expression:\"primaryGaragingLocation.LocationCounty\"}})],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"autocomplete\":\"sex\",\"rules\":\"required|alpha\",\"label\":\"Gender\",\"items\":_vm.genderOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\"},model:{value:(_vm.primaryDriver.Gender),callback:function ($$v) {_vm.$set(_vm.primaryDriver, \"Gender\", $$v)},expression:\"primaryDriver.Gender\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-menu',{ref:\"birthDateMenu\",attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required\",\"name\":\"Date of Birth\",\"vid\":\"birth\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid }){return [_c('v-text-field',_vm._g(_vm._b({directives:[{name:\"mask\",rawName:\"v-mask\",value:('##/##/####'),expression:\"'##/##/####'\"}],attrs:{\"autocomplete\":\"bday\",\"outlined\":\"\",\"required\":\"\",\"readonly\":\"\",\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid,\"label\":\"Date of Birth\"},on:{\"change\":function($event){_vm.primaryDriver.DateOfBirth = _vm.parseDate(_vm.dateOfBirth)}},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-calendar\")]),_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.dateOfBirth),callback:function ($$v) {_vm.dateOfBirth=$$v},expression:\"dateOfBirth\"}},'v-text-field',attrs,false),on))]}}],null,true)})]}}],null,true),model:{value:(_vm.birthDateMenu),callback:function ($$v) {_vm.birthDateMenu=$$v},expression:\"birthDateMenu\"}},[_c('v-date-picker',{ref:\"picker\",attrs:{\"active-picker\":_vm.dateOfBirthActivePicker,\"color\":\"background-blue\",\"no-title\":\"\",\"max\":_vm.maxDateOfBirth,\"min\":\"1920-01-01\"},on:{\"update:activePicker\":function($event){_vm.dateOfBirthActivePicker=$event},\"update:active-picker\":function($event){_vm.dateOfBirthActivePicker=$event},\"input\":function($event){_vm.birthDateMenu = false}},model:{value:(_vm.primaryDriver.DateOfBirth),callback:function ($$v) {_vm.$set(_vm.primaryDriver, \"DateOfBirth\", $$v)},expression:\"primaryDriver.DateOfBirth\"}})],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('###-###-####'),expression:\"'###-###-####'\"}],attrs:{\"rules\":\"required|phone_number|min:10|max:12\",\"autocomplete\":\"home tel-national\",\"minlength\":\"10\",\"maxlength\":\"12\",\"label\":\"Phone Number\",\"type\":\"tel\"},model:{value:(_vm.quoteDetails.PhoneNumber),callback:function ($$v) {_vm.$set(_vm.quoteDetails, \"PhoneNumber\", $$v)},expression:\"quoteDetails.PhoneNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"What type of auto quote is this?\",\"items\":_vm.ownerOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"disabled\":\"\"},model:{value:(_vm.quoteDetails.OwnershipCode),callback:function ($$v) {_vm.$set(_vm.quoteDetails, \"OwnershipCode\", $$v)},expression:\"quoteDetails.OwnershipCode\"}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_c('i',{staticClass:\"text-body-2\"},[_vm._v(\" We currently only offer Individual / Personal Auto Quotes online. Please contact \"),_c('router-link',{attrs:{\"to\":{ name: 'countyLookup'}}},[_vm._v(\"your local agent\")]),_vm._v(\" for additional quotes. \")],1)])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-menu',{ref:\"effectiveDateMenu\",attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required\",\"name\":\"Quote Start Date\",\"vid\":\"effective\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid }){return [_c('v-text-field',_vm._g({attrs:{\"outlined\":\"\",\"required\":\"\",\"readonly\":\"\",\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid,\"label\":\"When should coverage begin?\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-calendar\")]),_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.effectiveDate),callback:function ($$v) {_vm.effectiveDate=$$v},expression:\"effectiveDate\"}},on))]}}],null,true)})]}}],null,true),model:{value:(_vm.effectiveDateMenu),callback:function ($$v) {_vm.effectiveDateMenu=$$v},expression:\"effectiveDateMenu\"}},[_c('v-date-picker',{attrs:{\"color\":\"background-blue\",\"no-title\":\"\",\"min\":_vm.minEffectiveDate,\"max\":_vm.maxEffectiveDate},on:{\"input\":function($event){_vm.effectiveDateMenu = false}},model:{value:(_vm.quoteDetails.EffectiveDate),callback:function ($$v) {_vm.$set(_vm.quoteDetails, \"EffectiveDate\", $$v)},expression:\"quoteDetails.EffectiveDate\"}})],1)],1)],1),_c('v-row',[_c('v-col',{staticClass:\"pb-0\",attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"text-red\"},[_vm._v(\"If you would like to save your quote, please enter your email address and password.\")]),_c('i',{staticClass:\"text-body-2\"},[_vm._v(\"You will be able to retrieve your quote for up to 30 days when you return and sign in with your email address and password.\")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required_if:crqpassword|email|valid_domain|min:3|max:250\",\"autocomplete\":\"home email\",\"minlength\":\"3\",\"maxlength\":\"250\",\"label\":\"Email Address\",\"type\":\"email\"},model:{value:(_vm.quoteDetails.EmailAddress),callback:function ($$v) {_vm.$set(_vm.quoteDetails, \"EmailAddress\", $$v)},expression:\"quoteDetails.EmailAddress\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"confirmed:confirmation|min:4|max:25\",\"minlength\":\"4\",\"maxlength\":\"25\",\"label\":\"Password\",\"type\":\"password\",\"vid\":\"crqpassword\"},model:{value:(_vm.passWord),callback:function ($$v) {_vm.passWord=$$v},expression:\"passWord\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"min:4|max:25\",\"minlength\":\"4\",\"maxlength\":\"25\",\"label\":\"Confirm Password\",\"type\":\"password\",\"vid\":\"confirmation\"},model:{value:(_vm.confirmPassWord),callback:function ($$v) {_vm.confirmPassWord=$$v},expression:\"confirmPassWord\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"order\":\"2\",\"order-sm\":\"1\"}},[_c('v-btn',{class:[ !_vm.isMobile ? 'float-right' : '', 'tfb-button-min', 'background-red' ],on:{\"click\":_vm.onCancel}},[_c('v-icon',[_vm._v(\"mdi-chevron-left\")]),_vm._v(\" Go Back \")],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"order\":\"1\",\"order-sm\":\"2\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red float-right\",attrs:{\"type\":\"submit\",\"disabled\":_vm.formDisabled}},[_vm._v(\" Continue \"),_c('v-icon',[_vm._v(\"mdi-chevron-right\")])],1)],1)],1)],1):_vm._e()]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"background-darker-blue py-12\">\r\n <h2 class=\"tfb-title-text-large text-center\">About You</h2>\r\n <v-container fluid\r\n class=\"tfb-smallest-container tfb-quote-box pa-5 my-8\">\r\n <v-row v-if=\"agreementNumber === ''\">\r\n <v-col cols=\"12\"\r\n class=\"text-body-2\">\r\n Already filled this out? <router-link :to=\"{ name: 'quoteEntry', params: { type: 'auto' }}\">Retrieve your saved quote.</router-link>\r\n </v-col>\r\n </v-row>\r\n <required-fields-row></required-fields-row>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ handleSubmit }\">\r\n <v-form role=\"form\"\r\n name=\"aboutYouForm\"\r\n ref=\"aboutYouForm\"\r\n @submit.stop.prevent=\"handleSubmit(onSubmit)\"\r\n v-if=\"primaryDriver !== null && primaryGaragingLocation !== null && quoteDetails !== null\">\r\n <!-- First Name -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|name|min:2|max:25\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n label=\"First Name\"\r\n v-model=\"primaryDriver.FirstName\"\r\n autocomplete=\"shipping given-name\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Last Name -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|name|min:2|max:25\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n label=\"Last Name\"\r\n v-model=\"primaryDriver.LastName\"\r\n autocomplete=\"shipping family-name\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Address Line One -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:2|max:250\"\r\n minlength=\"2\"\r\n maxlength=\"250\"\r\n label=\"Physical Address 1\"\r\n v-model=\"primaryGaragingLocation.Address1\"\r\n autocomplete=\"shipping address-line1\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Address Line Two -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"min:2|max:250\"\r\n minlength=\"2\"\r\n maxlength=\"250\"\r\n label=\"Physical Address 2\"\r\n v-model=\"primaryGaragingLocation.Address2\"\r\n autocomplete=\"shipping address-line2\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- City -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:2|max:250\"\r\n minlength=\"2\"\r\n maxlength=\"250\"\r\n label=\"Physical City\"\r\n v-model=\"primaryGaragingLocation.City\"\r\n autocomplete=\"shipping address-level2\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Zip Code -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|numeric|min:5|max:5\"\r\n minlength=\"5\"\r\n maxlength=\"5\"\r\n label=\"Physical ZIP Code\"\r\n v-model=\"primaryGaragingLocation.ZipCode\"\r\n type=\"number\"\r\n autocomplete=\"shipping postal-code\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- County -->\r\n <v-row v-if=\"countyOptions !== null\">\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Physical County\"\r\n :items=\"countyOptions\"\r\n item-text=\"CountyName\"\r\n item-value=\"CountyCode\"\r\n autocomplete=\"home address-level2\"\r\n v-model=\"primaryGaragingLocation.LocationCounty\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Gender -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input autocomplete=\"sex\"\r\n rules=\"required|alpha\"\r\n label=\"Gender\"\r\n :items=\"genderOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"primaryDriver.Gender\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Birth Date -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-menu ref=\"birthDateMenu\"\r\n v-model=\"birthDateMenu\"\r\n :close-on-content-click=\"false\"\r\n transition=\"scale-transition\"\r\n offset-y\r\n max-width=\"290px\"\r\n min-width=\"290px\">\r\n <template v-slot:activator=\"{ on, attrs }\">\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required\"\r\n name=\"Date of Birth\"\r\n v-slot=\"{ errors, valid }\"\r\n vid=\"birth\">\r\n <v-text-field autocomplete=\"bday\"\r\n outlined\r\n required\r\n readonly\r\n hide-details=\"auto\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n v-model=\"dateOfBirth\"\r\n v-mask=\"'##/##/####'\"\r\n label=\"Date of Birth\"\r\n @change=\"primaryDriver.DateOfBirth = parseDate(dateOfBirth)\"\r\n v-bind=\"attrs\"\r\n v-on=\"on\">\r\n <template v-slot:append>\r\n <v-icon>mdi-calendar</v-icon>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-text-field>\r\n </ValidationProvider>\r\n </template>\r\n <v-date-picker ref=\"picker\"\r\n v-model=\"primaryDriver.DateOfBirth\"\r\n :active-picker.sync=\"dateOfBirthActivePicker\"\r\n color=\"background-blue\"\r\n no-title\r\n @input=\"birthDateMenu = false\"\r\n :max=\"maxDateOfBirth\"\r\n min=\"1920-01-01\"></v-date-picker>\r\n </v-menu>\r\n </v-col>\r\n </v-row>\r\n <!-- Phone Number -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|phone_number|min:10|max:12\"\r\n autocomplete=\"home tel-national\"\r\n minlength=\"10\"\r\n maxlength=\"12\"\r\n label=\"Phone Number\"\r\n v-model=\"quoteDetails.PhoneNumber\"\r\n v-mask=\"'###-###-####'\"\r\n type=\"tel\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Quote Type -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"What type of auto quote is this?\"\r\n :items=\"ownerOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"quoteDetails.OwnershipCode\"\r\n disabled></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <i class=\"text-body-2\">\r\n We currently only offer Individual / Personal Auto Quotes online. Please contact\r\n <router-link :to=\"{ name: 'countyLookup'}\">your local agent</router-link> for additional quotes.\r\n </i>\r\n </v-col>\r\n </v-row>\r\n <!-- Quote Start Date -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-menu ref=\"effectiveDateMenu\"\r\n v-model=\"effectiveDateMenu\"\r\n :close-on-content-click=\"false\"\r\n transition=\"scale-transition\"\r\n offset-y\r\n max-width=\"290px\"\r\n min-width=\"290px\">\r\n <template v-slot:activator=\"{ on }\">\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required\"\r\n name=\"Quote Start Date\"\r\n v-slot=\"{ errors, valid }\"\r\n vid=\"effective\">\r\n <v-text-field outlined\r\n required\r\n readonly\r\n hide-details=\"auto\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n v-model=\"effectiveDate\"\r\n label=\"When should coverage begin?\"\r\n v-on=\"on\">\r\n <template v-slot:append>\r\n <v-icon>mdi-calendar</v-icon>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-text-field>\r\n </ValidationProvider>\r\n </template>\r\n <v-date-picker v-model=\"quoteDetails.EffectiveDate\"\r\n color=\"background-blue\"\r\n no-title\r\n :min=\"minEffectiveDate\"\r\n :max=\"maxEffectiveDate\"\r\n @input=\"effectiveDateMenu = false\"></v-date-picker>\r\n </v-menu>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"pb-0\">\r\n <h4 class=\"text-red\">If you would like to save your quote, please enter your email address and password.</h4>\r\n <i class=\"text-body-2\">You will be able to retrieve your quote for up to 30 days when you return and sign in with your email address and password.</i>\r\n </v-col>\r\n </v-row>\r\n <!-- Email Address -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required_if:crqpassword|email|valid_domain|min:3|max:250\"\r\n autocomplete=\"home email\"\r\n minlength=\"3\"\r\n maxlength=\"250\"\r\n label=\"Email Address\"\r\n v-model=\"quoteDetails.EmailAddress\"\r\n type=\"email\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Password -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"confirmed:confirmation|min:4|max:25\"\r\n minlength=\"4\"\r\n maxlength=\"25\"\r\n label=\"Password\"\r\n v-model=\"passWord\"\r\n type=\"password\"\r\n vid=\"crqpassword\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"min:4|max:25\"\r\n minlength=\"4\"\r\n maxlength=\"25\"\r\n label=\"Confirm Password\"\r\n v-model=\"confirmPassWord\"\r\n type=\"password\"\r\n vid=\"confirmation\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n order=\"2\"\r\n order-sm=\"1\">\r\n <v-btn @click=\"onCancel\"\r\n v-bind:class=\"[ !isMobile ? 'float-right' : '', 'tfb-button-min', 'background-red' ]\">\r\n <v-icon>mdi-chevron-left</v-icon>\r\n Go Back\r\n </v-btn>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n order=\"1\"\r\n order-sm=\"2\">\r\n <v-btn type=\"submit\"\r\n :disabled=\"formDisabled\"\r\n class=\"tfb-button-min background-red float-right\">\r\n Continue\r\n <v-icon>mdi-chevron-right</v-icon>\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import { addDays, subDays, subYears } from 'date-fns';\r\n import { mask } from 'vue-the-mask';\r\n import { ValidationObserver, ValidationProvider } from 'vee-validate';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import { genericErrorMessage } from '@/mixins/errorMessages';\r\n import RequiredFieldsRow from '@/views/layout/components/RequiredFieldsRow.vue';\r\n /* eslint prefer-destructuring: 0 */\r\n /* eslint object-shorthand: 0 */\r\n /* eslint no-unused-vars: 0 */\r\n\r\n export default {\r\n name: 'AutoQuoteAboutYou',\r\n mixins: [tfbHelperMixin, tfbDataMixin, tfbMetaMixin],\r\n directives: { mask },\r\n components: {\r\n ValidationObserver,\r\n ValidationProvider,\r\n RequiredFieldsRow,\r\n },\r\n data() {\r\n return {\r\n formDisabled: false,\r\n quoteDetails: null,\r\n primaryDriver: null,\r\n primaryGaragingLocation: null,\r\n countyOptions: null,\r\n genderOptions: [\r\n { DisplayText: 'Female', Value: 'F' },\r\n { DisplayText: 'Male', Value: 'M' },\r\n ],\r\n ownerOptions: [\r\n { DisplayText: 'Individual / Personal', Value: 'I' },\r\n { DisplayText: 'Corporation', Value: 'C' },\r\n { DisplayText: 'Joint Venture', Value: 'J' },\r\n { DisplayText: 'Partnership', Value: 'P' },\r\n ],\r\n dateOfBirthActivePicker: null,\r\n birthDateMenu: false,\r\n effectiveDateMenu: false,\r\n passWord: null,\r\n confirmPassWord: null,\r\n isMobile: this.$vuetify.breakpoint.smAndDown,\r\n };\r\n },\r\n computed: {\r\n metaDescription() {\r\n return 'Looking for an auto insurance quote? Use our online tool to learn how Texas Farm Bureau Insurance can help provide coverage for your precious ride.';\r\n },\r\n metaPageTitle() {\r\n return 'About You | Auto Rate Quote';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/quotes/auto/about-you`;\r\n },\r\n agreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/agreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n subAgreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/subAgreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n existingQuote() {\r\n try {\r\n if (this.agreementNumber && this.agreementNumber !== '') {\r\n return true;\r\n }\r\n return false;\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n minEffectiveDate() {\r\n const minLimit = this.$store.getters['quotes/maxPastEffectiveDayLimit'];\r\n\r\n if (minLimit !== null) {\r\n return this.parseDate(subDays(new Date(), minLimit).toISOString());\r\n }\r\n\r\n return this.parseDate(subDays(new Date(), 30).toISOString());\r\n },\r\n maxEffectiveDate() {\r\n const maxLimit = this.$store.getters['quotes/maxFutureEffectiveDayLimit'];\r\n\r\n if (maxLimit !== null) {\r\n return this.parseDate(addDays(new Date(), maxLimit).toISOString());\r\n }\r\n\r\n return this.parseDate(addDays(new Date(), 60).toISOString());\r\n },\r\n effectiveDate() {\r\n return this.formatDate(this.quoteDetails.EffectiveDate);\r\n },\r\n maxDateOfBirth() {\r\n return this.parseDate(subYears(new Date(), 14).toISOString());\r\n },\r\n dateOfBirth() {\r\n return this.formatDate(this.primaryDriver.DateOfBirth);\r\n },\r\n },\r\n watch: {\r\n birthDateMenu(val) {\r\n setTimeout(() => { (this.dateOfBirthActivePicker = 'YEAR'); });\r\n },\r\n },\r\n methods: {\r\n getCountyList() {\r\n this.$store.dispatch('quotes/getCountyList', { sTfbId: this.trackingId })\r\n .then((countyListResponse) => {\r\n this.countyOptions = countyListResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n onCancel() {\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n },\r\n onSubmit() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n\r\n this.$store.dispatch('app/setIsLoading', true);\r\n\r\n // Is this an add or an update?\r\n if (this.agreementNumber === null || this.agreementNumber === '') {\r\n // Create a new quote\r\n this.$store.dispatch('quotes/addNewQuote', {\r\n sQuote: this.quoteDetails,\r\n sDriver: this.primaryDriver,\r\n sLocation: this.primaryGaragingLocation,\r\n sPassword: this.passWord,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((quoteReturn) => {\r\n if (quoteReturn) {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: quoteReturn,\r\n fileName: 'AboutYou.vue',\r\n methodName: 'onSubmit-NewToVehicle',\r\n trackerId: this.trackingId,\r\n });\r\n this.$router.push({ name: 'quoteVehicle' });\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', genericErrorMessage);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n } else {\r\n // Update the existing quote\r\n this.$store.dispatch('quotes/updateQuote', {\r\n sQuote: this.quoteDetails,\r\n sLocation: this.primaryGaragingLocation,\r\n sDriver: this.primaryDriver,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((quoteReturn) => {\r\n if (quoteReturn) {\r\n this.$store.dispatch('app/logToULS', {\r\n logLevel: 'Info',\r\n logMessage: quoteReturn,\r\n fileName: 'AboutYou.vue',\r\n methodName: 'onSubmit-UpdateToVehicle',\r\n trackerId: this.trackingId,\r\n });\r\n this.$router.push({ name: 'quoteVehicle' });\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', genericErrorMessage);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n }\r\n },\r\n },\r\n async mounted() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/setIsLoading', true);\r\n await this.$store.dispatch('app/doApplicationCheck', { sApplicationName: 'RateQuote', sTfbId: this.trackingId })\r\n .then((returnedStatus) => {\r\n if (returnedStatus !== '') {\r\n this.formDisabled = true;\r\n this.$store.dispatch('app/setErrorMessage', returnedStatus);\r\n } else {\r\n const quote = this.$store.getters['quotes/quote'];\r\n if (quote) {\r\n this.primaryDriver = quote.Operators[0];\r\n this.quoteDetails = quote.Quote;\r\n this.primaryGaragingLocation = quote.GaragingLocations[0];\r\n this.quoteDetails.EffectiveDate = this.parseDate(this.quoteDetails.EffectiveDate);\r\n this.getCountyList();\r\n } else {\r\n // No saved quote information, so go back to home\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n }\r\n this.$store.dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfb-quote-box {\r\n background-color: $white;\r\n color: $black;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AboutYou.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AboutYou.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AboutYou.vue?vue&type=template&id=1b74fc72\"\nimport script from \"./AboutYou.vue?vue&type=script&lang=js\"\nexport * from \"./AboutYou.vue?vue&type=script&lang=js\"\nimport style0 from \"./AboutYou.vue?vue&type=style&index=0&id=1b74fc72&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"background-darker-blue py-12\"},[_c('h2',{staticClass:\"tfb-title-text-large text-center\"},[_vm._v(\"Vehicles\")]),_c('v-container',{staticClass:\"tfb-smallest-container tfb-quote-box pa-5 my-8\",attrs:{\"fluid\":\"\"}},[(_vm.vehicleList && _vm.vehicleList.length > 1 && _vm.vehicle && _vm.vehicle != null)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red\",attrs:{\"disabled\":_vm.formDisabled},on:{\"click\":function($event){return _vm.onDelete()}}},[_vm._v(\" Remove Vehicle \")])],1)],1):_vm._e(),_c('required-fields-row'),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ passes }){return [(_vm.vehicle && _vm.vehicle != null)?_c('v-form',{ref:\"vehicleForm\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return passes(_vm.onSubmit)}}},[(_vm.enterByVin)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('keep-alive',[_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required|min:17|max:17|alpha_num|vin_valid\",\"mode\":\"lazy\",\"name\":\"vin\",\"vid\":\"vin\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid, required }){return [_c('v-text-field',{attrs:{\"outlined\":\"\",\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid,\"label\":\"VIN\",\"autocapitalize\":\"characters\",\"minlength\":\"17\",\"maxlength\":\"17\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.vehicle.VIN),callback:function ($$v) {_vm.$set(_vm.vehicle, \"VIN\", $$v)},expression:\"vehicle.VIN\"}})]}}],null,true)})],1)],1)],1):_vm._e(),(!_vm.enterByVin)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Vehicle Year\",\"items\":_vm.vehicleYears,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"disabled\":_vm.yearSelectionDisabled},on:{\"change\":function($event){return _vm.getVehicleMakes()}},model:{value:(_vm.vehicle.Year),callback:function ($$v) {_vm.$set(_vm.vehicle, \"Year\", $$v)},expression:\"vehicle.Year\"}})],1)],1):_vm._e(),(!_vm.enterByVin)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Vehicle Make\",\"items\":_vm.vehicleMakes,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"disabled\":_vm.makeSelectionDisabled},on:{\"change\":function($event){return _vm.getVehicleModels()}},model:{value:(_vm.vehicle.Make),callback:function ($$v) {_vm.$set(_vm.vehicle, \"Make\", $$v)},expression:\"vehicle.Make\"}})],1)],1):_vm._e(),(!_vm.enterByVin)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Vehicle Model\",\"items\":_vm.vehicleModels,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"disabled\":_vm.modelSelectionDisabled},on:{\"change\":function($event){return _vm.getVehicleBodyStyles()}},model:{value:(_vm.vehicle.Model),callback:function ($$v) {_vm.$set(_vm.vehicle, \"Model\", $$v)},expression:\"vehicle.Model\"}})],1)],1):_vm._e(),(!_vm.enterByVin)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Vehicle Body Style\",\"items\":_vm.vehicleBodyStyles,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"disabled\":_vm.styleSelectionDisabled},on:{\"change\":function($event){return _vm.setVehicleDetail()}},model:{value:(_vm.vehicle.VehicleBodyStyle),callback:function ($$v) {_vm.$set(_vm.vehicle, \"VehicleBodyStyle\", $$v)},expression:\"vehicle.VehicleBodyStyle\"}})],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.swapEntry()}}},[(_vm.enterByVin)?_c('span',[_vm._v(\"Enter vehicle year, make, and model\")]):_c('span',[_vm._v(\"Enter VIN for vehicle information\")])]),_c('br')])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Owner of this Vehicle\",\"items\":_vm.ownerList,\"item-text\":\"DisplayText\",\"item-value\":\"Value\"},model:{value:(_vm.vehicle.TitledTo),callback:function ($$v) {_vm.$set(_vm.vehicle, \"TitledTo\", $$v)},expression:\"vehicle.TitledTo\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Primary Driver of this Vehicle\",\"items\":_vm.operatorList,\"item-text\":\"DisplayText\",\"item-value\":\"Value\"},model:{value:(_vm.vehicle.PrincipalOperator),callback:function ($$v) {_vm.$set(_vm.vehicle, \"PrincipalOperator\", $$v)},expression:\"vehicle.PrincipalOperator\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Primary Use of this Vehicle\",\"items\":_vm.primaryUseOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"disabled\":_vm.primaryUseDisabled,\"vid\":\"primaryuse\"},model:{value:(_vm.vehicle.PrimaryVehicleUse),callback:function ($$v) {_vm.$set(_vm.vehicle, \"PrimaryVehicleUse\", $$v)},expression:\"vehicle.PrimaryVehicleUse\"}})],1)],1),(_vm.isUsedForWorkSchool)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required|numeric\",\"label\":\"Days Driven to Work/School\",\"items\":_vm.daysPerWeekOptions},model:{value:(_vm.vehicle.DaysPerWeekDriven),callback:function ($$v) {_vm.$set(_vm.vehicle, \"DaysPerWeekDriven\", $$v)},expression:\"vehicle.DaysPerWeekDriven\"}})],1)],1):_vm._e(),(_vm.isUsedForFarmRanch)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Is this vehicle garaged on a farm?\",\"items\":_vm.yesNoOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\"},model:{value:(_vm.vehicle.GaragedOnFarm),callback:function ($$v) {_vm.$set(_vm.vehicle, \"GaragedOnFarm\", $$v)},expression:\"vehicle.GaragedOnFarm\"}})],1)],1):_vm._e(),(_vm.isUsedForFarmRanch)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|numeric|min:1|max:7\",\"minlength\":\"1\",\"maxlength\":\"7\",\"label\":\"Number of Owned Acres\",\"type\":\"number\"},model:{value:(_vm.vehicle.NumberOfOwnedAcres),callback:function ($$v) {_vm.$set(_vm.vehicle, \"NumberOfOwnedAcres\", $$v)},expression:\"vehicle.NumberOfOwnedAcres\"}})],1)],1):_vm._e(),(_vm.isUsedForFarmRanch)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|numeric|min:1|max:7\",\"minlength\":\"1\",\"maxlength\":\"7\",\"label\":\"Number of Rented Acres\",\"type\":\"number\"},model:{value:(_vm.vehicle.NumberOfRentedAcres),callback:function ($$v) {_vm.$set(_vm.vehicle, \"NumberOfRentedAcres\", $$v)},expression:\"vehicle.NumberOfRentedAcres\"}})],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|numeric|min:1|max:7\",\"minlength\":\"1\",\"maxlength\":\"7\",\"label\":\"Annual Mileage\",\"type\":\"number\"},model:{value:(_vm.vehicle.AnnualMileage),callback:function ($$v) {_vm.$set(_vm.vehicle, \"AnnualMileage\", $$v)},expression:\"vehicle.AnnualMileage\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|numeric|min:1|max:7\",\"minlength\":\"1\",\"maxlength\":\"7\",\"label\":\"Miles Driven Per Day\",\"type\":\"number\"},model:{value:(_vm.vehicle.DailyMileage),callback:function ($$v) {_vm.$set(_vm.vehicle, \"DailyMileage\", $$v)},expression:\"vehicle.DailyMileage\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Location Where Vehicle is Kept Overnight\",\"items\":_vm.garagingLocations,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"vid\":\"garaging\"},model:{value:(_vm.vehicle.GaragingLocationSequenceNumber),callback:function ($$v) {_vm.$set(_vm.vehicle, \"GaragingLocationSequenceNumber\", $$v)},expression:\"vehicle.GaragingLocationSequenceNumber\"}})],1)],1),(_vm.isNewLocation)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:2|max:250\",\"minlength\":\"2\",\"maxlength\":\"250\",\"label\":\"Address Line 1 Where Vehicle is Kept Overnight\",\"autocomplete\":\"shipping address-line1\",\"autocapitalize\":\"words\"},model:{value:(_vm.vehicle.GaragingLocation.Address1),callback:function ($$v) {_vm.$set(_vm.vehicle.GaragingLocation, \"Address1\", $$v)},expression:\"vehicle.GaragingLocation.Address1\"}})],1)],1):_vm._e(),(_vm.isNewLocation)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"min:2|max:250\",\"minlength\":\"2\",\"maxlength\":\"250\",\"label\":\"Address Line 2 Where Vehicle is Kept Overnight\",\"autocomplete\":\"shipping address-line2\",\"autocapitalize\":\"words\"},model:{value:(_vm.vehicle.GaragingLocation.Address2),callback:function ($$v) {_vm.$set(_vm.vehicle.GaragingLocation, \"Address2\", $$v)},expression:\"vehicle.GaragingLocation.Address2\"}})],1)],1):_vm._e(),(_vm.isNewLocation)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:2|max:250\",\"minlength\":\"2\",\"maxlength\":\"250\",\"label\":\"City Where Vehicle is Kept Overnight\",\"autocomplete\":\"shipping address-level2\",\"autocapitalize\":\"words\"},model:{value:(_vm.vehicle.GaragingLocation.City),callback:function ($$v) {_vm.$set(_vm.vehicle.GaragingLocation, \"City\", $$v)},expression:\"vehicle.GaragingLocation.City\"}})],1)],1):_vm._e(),(_vm.isNewLocation)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|numeric|min:5|max:5\",\"minlength\":\"5\",\"maxlength\":\"5\",\"label\":\"ZIP Code Where Vehicle is Kept Overnight\",\"type\":\"number\",\"autocomplete\":\"shipping postal-code\"},model:{value:(_vm.vehicle.GaragingLocation.ZipCode),callback:function ($$v) {_vm.$set(_vm.vehicle.GaragingLocation, \"ZipCode\", $$v)},expression:\"vehicle.GaragingLocation.ZipCode\"}})],1)],1):_vm._e(),(_vm.isNewLocation)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"County Where Vehicle is Kept Overnight\",\"items\":_vm.countyOptions,\"item-text\":\"CountyName\",\"item-value\":\"CountyCode\"},model:{value:(_vm.vehicle.GaragingLocation.LocationCounty),callback:function ($$v) {_vm.$set(_vm.vehicle.GaragingLocation, \"LocationCounty\", $$v)},expression:\"vehicle.GaragingLocation.LocationCounty\"}})],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"\",\"label\":\"Safety Features/Options\",\"items\":_vm.safetyOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\"},model:{value:(_vm.vehicle.PassiveRestraintCode),callback:function ($$v) {_vm.$set(_vm.vehicle, \"PassiveRestraintCode\", $$v)},expression:\"vehicle.PassiveRestraintCode\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red float-right\",attrs:{\"disabled\":_vm.formDisabled},on:{\"click\":function($event){return passes(_vm.onAddSubmit)}}},[_vm._v(\" Add Another Vehicle \")]),_c('br'),_c('br')],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"order\":\"2\",\"order-sm\":\"1\"}},[_c('v-btn',{class:[ !_vm.isMobile ? 'float-right' : '', 'tfb-button-min', 'background-red' ],on:{\"click\":_vm.onBack}},[_c('v-icon',[_vm._v(\"mdi-chevron-left\")]),_vm._v(\" Go Back \")],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"order\":\"1\",\"order-sm\":\"2\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red float-right\",attrs:{\"type\":\"submit\",\"disabled\":_vm.formDisabled}},[_vm._v(\" Continue \"),_c('v-icon',[_vm._v(\"mdi-chevron-right\")])],1)],1)],1)],1):_vm._e()]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"background-darker-blue py-12\">\r\n <h2 class=\"tfb-title-text-large text-center\">Vehicles</h2>\r\n <v-container fluid\r\n class=\"tfb-smallest-container tfb-quote-box pa-5 my-8\">\r\n <v-row v-if=\"vehicleList && vehicleList.length > 1 && vehicle && vehicle != null\">\r\n <v-col cols=\"12\">\r\n <v-btn @click=\"onDelete()\"\r\n :disabled=\"formDisabled\"\r\n class=\"tfb-button-min background-red\">\r\n Remove Vehicle\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n <required-fields-row></required-fields-row>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ passes }\">\r\n <v-form ref=\"vehicleForm\"\r\n v-if=\"vehicle && vehicle != null\"\r\n @submit.stop.prevent=\"passes(onSubmit)\">\r\n <!-- VIN -->\r\n <v-row v-if=\"enterByVin\">\r\n <v-col cols=\"12\">\r\n <keep-alive>\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required|min:17|max:17|alpha_num|vin_valid\"\r\n mode=\"lazy\"\r\n name=\"vin\"\r\n vid=\"vin\"\r\n v-slot=\"{ errors, valid, required }\">\r\n <v-text-field outlined\r\n hide-details=\"auto\"\r\n v-model=\"vehicle.VIN\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n label=\"VIN\"\r\n autocapitalize=\"characters\"\r\n minlength=\"17\"\r\n maxlength=\"17\">\r\n <template v-slot:append>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-text-field>\r\n </ValidationProvider>\r\n </keep-alive>\r\n </v-col>\r\n </v-row>\r\n <!-- Vehicle Year -->\r\n <v-row v-if=\"!enterByVin\">\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Vehicle Year\"\r\n :items=\"vehicleYears\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"vehicle.Year\"\r\n @change=\"getVehicleMakes()\"\r\n :disabled=\"yearSelectionDisabled\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Vehicle Make -->\r\n <v-row v-if=\"!enterByVin\">\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Vehicle Make\"\r\n :items=\"vehicleMakes\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"vehicle.Make\"\r\n @change=\"getVehicleModels()\"\r\n :disabled=\"makeSelectionDisabled\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Vehicle Model -->\r\n <v-row v-if=\"!enterByVin\">\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Vehicle Model\"\r\n :items=\"vehicleModels\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"vehicle.Model\"\r\n @change=\"getVehicleBodyStyles()\"\r\n :disabled=\"modelSelectionDisabled\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Vehicle Body Style -->\r\n <v-row v-if=\"!enterByVin\">\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Vehicle Body Style\"\r\n :items=\"vehicleBodyStyles\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"vehicle.VehicleBodyStyle\"\r\n @change=\"setVehicleDetail()\"\r\n :disabled=\"styleSelectionDisabled\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Vehicle Entry Swap -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <a href=\"\"\r\n v-on:click.prevent=\"swapEntry()\">\r\n <span v-if=\"enterByVin\">Enter vehicle year, make, and model</span>\r\n <span v-else>Enter VIN for vehicle information</span>\r\n </a><br />\r\n </v-col>\r\n </v-row>\r\n <!-- Owner of this vehicle -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Owner of this Vehicle\"\r\n :items=\"ownerList\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"vehicle.TitledTo\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Primary Driver of this vehicle -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Primary Driver of this Vehicle\"\r\n :items=\"operatorList\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"vehicle.PrincipalOperator\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Primary use of this vehicle - 14081 -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Primary Use of this Vehicle\"\r\n :items=\"primaryUseOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"vehicle.PrimaryVehicleUse\"\r\n :disabled=\"primaryUseDisabled\"\r\n vid=\"primaryuse\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Days driven to work/school -->\r\n <v-row v-if=\"isUsedForWorkSchool\">\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required|numeric\"\r\n label=\"Days Driven to Work/School\"\r\n :items=\"daysPerWeekOptions\"\r\n v-model=\"vehicle.DaysPerWeekDriven\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Garaged On Farm - 14099 -->\r\n <v-row v-if=\"isUsedForFarmRanch\">\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Is this vehicle garaged on a farm?\"\r\n :items=\"yesNoOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"vehicle.GaragedOnFarm\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Number of Owned Acres -->\r\n <v-row v-if=\"isUsedForFarmRanch\">\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|numeric|min:1|max:7\"\r\n minlength=\"1\"\r\n maxlength=\"7\"\r\n label=\"Number of Owned Acres\"\r\n v-model=\"vehicle.NumberOfOwnedAcres\"\r\n type=\"number\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Number of Rented Acres -->\r\n <v-row v-if=\"isUsedForFarmRanch\">\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|numeric|min:1|max:7\"\r\n minlength=\"1\"\r\n maxlength=\"7\"\r\n label=\"Number of Rented Acres\"\r\n v-model=\"vehicle.NumberOfRentedAcres\"\r\n type=\"number\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Annual Mileage -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|numeric|min:1|max:7\"\r\n minlength=\"1\"\r\n maxlength=\"7\"\r\n label=\"Annual Mileage\"\r\n v-model=\"vehicle.AnnualMileage\"\r\n type=\"number\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Daily Mileage -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|numeric|min:1|max:7\"\r\n minlength=\"1\"\r\n maxlength=\"7\"\r\n label=\"Miles Driven Per Day\"\r\n v-model=\"vehicle.DailyMileage\"\r\n type=\"number\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Garaging location of this vehicle -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Location Where Vehicle is Kept Overnight\"\r\n :items=\"garagingLocations\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"vehicle.GaragingLocationSequenceNumber\"\r\n vid=\"garaging\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Address Line One -->\r\n <v-row v-if=\"isNewLocation\">\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:2|max:250\"\r\n minlength=\"2\"\r\n maxlength=\"250\"\r\n label=\"Address Line 1 Where Vehicle is Kept Overnight\"\r\n v-model=\"vehicle.GaragingLocation.Address1\"\r\n autocomplete=\"shipping address-line1\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Address Line Two -->\r\n <v-row v-if=\"isNewLocation\">\r\n <v-col cols=\"12\">\r\n <text-input rules=\"min:2|max:250\"\r\n minlength=\"2\"\r\n maxlength=\"250\"\r\n label=\"Address Line 2 Where Vehicle is Kept Overnight\"\r\n v-model=\"vehicle.GaragingLocation.Address2\"\r\n autocomplete=\"shipping address-line2\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- City -->\r\n <v-row v-if=\"isNewLocation\">\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:2|max:250\"\r\n minlength=\"2\"\r\n maxlength=\"250\"\r\n label=\"City Where Vehicle is Kept Overnight\"\r\n v-model=\"vehicle.GaragingLocation.City\"\r\n autocomplete=\"shipping address-level2\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Zip Code -->\r\n <v-row v-if=\"isNewLocation\">\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|numeric|min:5|max:5\"\r\n minlength=\"5\"\r\n maxlength=\"5\"\r\n label=\"ZIP Code Where Vehicle is Kept Overnight\"\r\n v-model=\"vehicle.GaragingLocation.ZipCode\"\r\n type=\"number\"\r\n autocomplete=\"shipping postal-code\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- County where vehicle is kept -->\r\n <v-row v-if=\"isNewLocation\">\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"County Where Vehicle is Kept Overnight\"\r\n :items=\"countyOptions\"\r\n item-text=\"CountyName\"\r\n item-value=\"CountyCode\"\r\n v-model=\"vehicle.GaragingLocation.LocationCounty\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Safety -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"\"\r\n label=\"Safety Features/Options\"\r\n :items=\"safetyOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"vehicle.PassiveRestraintCode\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-btn @click=\"passes(onAddSubmit)\"\r\n :disabled=\"formDisabled\"\r\n class=\"tfb-button-min background-red float-right\">\r\n Add Another Vehicle\r\n </v-btn>\r\n <br /><br />\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n order=\"2\"\r\n order-sm=\"1\">\r\n <v-btn @click=\"onBack\"\r\n v-bind:class=\"[ !isMobile ? 'float-right' : '', 'tfb-button-min', 'background-red' ]\">\r\n <v-icon>mdi-chevron-left</v-icon>\r\n Go Back\r\n </v-btn>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n order=\"1\"\r\n order-sm=\"2\">\r\n <v-btn type=\"submit\"\r\n :disabled=\"formDisabled\"\r\n class=\"tfb-button-min background-red float-right\">\r\n Continue\r\n <v-icon>mdi-chevron-right</v-icon>\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import { mask } from 'vue-the-mask';\r\n import { ValidationObserver, ValidationProvider } from 'vee-validate';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import { genericErrorMessage } from '@/mixins/errorMessages';\r\n import RequiredFieldsRow from '@/views/layout/components/RequiredFieldsRow.vue';\r\n/* eslint prefer-destructuring: 0 */\r\n/* eslint object-shorthand: 0 */\r\n\r\n export default {\r\n name: 'AutoQuoteVehicles',\r\n mixins: [tfbHelperMixin, tfbDataMixin, tfbMetaMixin],\r\n directives: { mask },\r\n components: {\r\n ValidationObserver,\r\n ValidationProvider,\r\n RequiredFieldsRow,\r\n },\r\n data() {\r\n return {\r\n formDisabled: false,\r\n quoteDetails: null,\r\n vehicle: null,\r\n vehicleList: null,\r\n garagingLocations: [],\r\n countyOptions: null,\r\n primaryUseOptions: null,\r\n safetyOptions: null,\r\n enterByVin: true,\r\n isValidVin: false,\r\n ownerList: [],\r\n operatorList: [],\r\n daysPerWeekOptions: ['0', '1', '2', '3', '4', '5', '6', '7'],\r\n yesNoOptions: [{ Value: 'Y', DisplayText: 'Yes' }, { Value: 'N', DisplayText: 'No' }],\r\n vehicleYears: [],\r\n vehicleMakes: [],\r\n vehicleModels: [],\r\n vehicleBodyStyles: [],\r\n otherOption: { Value: '0', DisplayText: 'Other' },\r\n yearSelectionDisabled: true,\r\n makeSelectionDisabled: true,\r\n modelSelectionDisabled: true,\r\n styleSelectionDisabled: true,\r\n primaryUseDisabled: false,\r\n isMobile: this.$vuetify.breakpoint.smAndDown,\r\n };\r\n },\r\n computed: {\r\n metaDescription() {\r\n return 'Looking for an auto insurance quote? Use our online tool to learn how Texas Farm Bureau Insurance can help provide coverage for your precious ride.';\r\n },\r\n metaPageTitle() {\r\n return 'Vehicles | Auto Rate Quote';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/quotes/auto/vehicles`;\r\n },\r\n agreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/agreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n subAgreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/subAgreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n quoteData() {\r\n try {\r\n return this.$store.getters['quotes/quote'];\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n isUsingVin() {\r\n return this.enterByVin;\r\n },\r\n isUsedForFarmRanch() {\r\n return (this.vehicle && this.vehicle.PrimaryVehicleUse && this.vehicle.PrimaryVehicleUse === '4') || false;\r\n },\r\n isUsedForWorkSchool() {\r\n return (this.vehicle && this.vehicle.PrimaryVehicleUse && this.vehicle.PrimaryVehicleUse === '2') || false;\r\n },\r\n isNewLocation() {\r\n return (this.vehicle && this.vehicle.GaragingLocationSequenceNumber && this.vehicle.GaragingLocationSequenceNumber !== '' && this.vehicle.GaragingLocationSequenceNumber !== '1') || false;\r\n },\r\n },\r\n methods: {\r\n getCountyList() {\r\n this.$store.dispatch('quotes/getCountyList', { sTfbId: this.trackingId })\r\n .then((countyListResponse) => {\r\n this.countyOptions = countyListResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getPrimaryUses() {\r\n this.$store.dispatch('quotes/getPrimaryUses', { sTfbId: this.trackingId })\r\n .then((primaryUseResponse) => {\r\n this.primaryUseOptions = primaryUseResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getAntiTheftOptions() {\r\n this.$store.dispatch('quotes/getAntiTheftOptions', { sTfbId: this.trackingId })\r\n .then((antiTheftResponse) => {\r\n this.antiTheftOptions = antiTheftResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getSafetyOptions() {\r\n this.$store.dispatch('quotes/getSafetyOptions', { sTfbId: this.trackingId })\r\n .then((safetyResponse) => {\r\n this.safetyOptions = safetyResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getVehicleYears() {\r\n this.vehicleYears = [];\r\n this.vehicleMakes = [];\r\n this.vehicleModels = [];\r\n this.vehicleBodyStyles = [];\r\n this.$store.dispatch('quotes/getVehicleYears', { sAgreementNumber: this.agreementNumber, sSubAgreementNumber: this.subAgreementNumber, sTfbId: this.trackingId })\r\n .then((yearListResponse) => {\r\n this.yearSelectionDisabled = false;\r\n this.vehicleYears = yearListResponse;\r\n\r\n if (this.vehicle.Year && this.vehicle.Year !== null && this.vehicle.Year !== '') {\r\n this.getVehicleMakes();\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getVehicleMakes() {\r\n if (this.vehicle.Year && this.vehicle.Year !== null && this.vehicle.Year !== '') {\r\n this.vehicleMakes = [];\r\n this.vehicleModels = [];\r\n this.vehicleBodyStyles = [];\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('quotes/getVehicleMakesByYear', {\r\n sVehicleYear: this.vehicle.Year,\r\n sAgreementNumber: this.agreementNumber,\r\n sSubAgreementNumber: this.subAgreementNumber,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((makeListResponse) => {\r\n this.makeSelectionDisabled = false;\r\n this.vehicleMakes = makeListResponse;\r\n\r\n if (this.vehicle.Make && this.vehicle.Make !== null && this.vehicle.Make !== '') {\r\n this.getVehicleModels();\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n }\r\n },\r\n getVehicleModels() {\r\n if (this.vehicle.Make && this.vehicle.Make !== null && this.vehicle.Make !== '') {\r\n this.vehicleModels = [];\r\n this.vehicleBodyStyles = [];\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('quotes/getVehicleModelsByMakeYear', {\r\n sVehicleYear: this.vehicle.Year,\r\n sVehicleMake: this.vehicle.Make,\r\n sAgreementNumber: this.agreementNumber,\r\n sSubAgreementNumber: this.subAgreementNumber,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((modelListResponse) => {\r\n this.modelSelectionDisabled = false;\r\n this.vehicleModels = modelListResponse;\r\n\r\n if (this.vehicle.Model && this.vehicle.Model !== null && this.vehicle.Model !== '') {\r\n this.getVehicleBodyStyles();\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n }\r\n },\r\n getVehicleBodyStyles() {\r\n if (this.vehicle.Model && this.vehicle.Model !== null && this.vehicle.Model !== '') {\r\n this.vehicleBodyStyles = [];\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('quotes/getVehicleBodyStylesByYearMakeModel', {\r\n sVehicleYear: this.vehicle.Year,\r\n sVehicleMake: this.vehicle.Make,\r\n sVehicleModel: this.vehicle.Model,\r\n sAgreementNumber: this.agreementNumber,\r\n sSubAgreementNumber: this.subAgreementNumber,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((styleListResponse) => {\r\n this.styleSelectionDisabled = false;\r\n this.vehicleBodyStyles = styleListResponse;\r\n\r\n if (this.vehicle.VehicleBodyStyle && this.vehicle.VehicleBodyStyle !== null && this.vehicle.VehicleBodyStyle !== '') {\r\n this.setVehicleDetail();\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n }\r\n },\r\n swapEntry() {\r\n this.enterByVin = !this.enterByVin;\r\n\r\n if (!this.enterByVin) {\r\n this.vehicle.VIN = '';\r\n }\r\n },\r\n setVehicleDetail() {\r\n this.vehicle.Description = `${this.vehicle.Year} ${this.vehicle.Make} ${this.vehicle.Model}`;\r\n },\r\n setupQuote() {\r\n if (this.quoteData) {\r\n this.quoteDetails = this.quoteData.Quote;\r\n if (this.quoteDetails && this.quoteDetails !== null && this.quoteDetails.AgreementNumber !== null && this.quoteDetails.AgreementNumber !== '') {\r\n this.getCountyList();\r\n this.setupVehicle(this.$route.params.id);\r\n } else {\r\n // No saved quote information, so go back to home\r\n this.$router.push({ name: 'quoteAboutYou' });\r\n }\r\n } else {\r\n // No saved quote information, so go back to home\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n },\r\n buildGaragingLocations(quote) {\r\n if (quote) {\r\n this.garagingLocations = [];\r\n for (let g = 0; g < quote.GaragingLocations.length; g += 1) {\r\n const foundLocation = quote.GaragingLocations[g];\r\n\r\n if (foundLocation) {\r\n foundLocation.LocationAddress = this.buildSingleLineAddress(foundLocation.Address1, foundLocation.Address2, null, foundLocation.City,\r\n foundLocation.State, foundLocation.ZipCode, null, null);\r\n this.garagingLocations.push({ Value: foundLocation.LocationSequenceNumber, DisplayText: foundLocation.LocationAddress });\r\n }\r\n }\r\n this.garagingLocations.push(this.otherOption);\r\n }\r\n },\r\n buildOperators(quote) {\r\n if (quote) {\r\n this.ownerList = [];\r\n this.operatorList = [];\r\n for (let o = 0; o < quote.Operators.length; o += 1) {\r\n const foundOperator = quote.Operators[o];\r\n\r\n if (foundOperator) {\r\n this.ownerList.push({ Value: foundOperator.DriverSequenceNumber, DisplayText: `${foundOperator.FirstName} ${foundOperator.LastName}` });\r\n this.operatorList.push({ Value: foundOperator.DriverSequenceNumber, DisplayText: `${foundOperator.FirstName} ${foundOperator.LastName}` });\r\n }\r\n }\r\n this.ownerList.push(this.otherOption);\r\n }\r\n },\r\n setupVehicle(vehicleId) {\r\n this.isValidVin = false;\r\n\r\n if (this.quoteData) {\r\n this.vehicleList = this.quoteData.Vehicles;\r\n this.buildGaragingLocations(this.quoteData);\r\n this.buildOperators(this.quoteData);\r\n }\r\n\r\n if (this.vehicleList && this.vehicleList.length > 0) {\r\n // Have vehicles, try to find the one wanted\r\n if (vehicleId && vehicleId === 'new') {\r\n // Adding a new vehicle\r\n this.vehicle = {\r\n VIN: null, Year: null, Make: null, Model: null, Description: '', GaragingLocation: {},\r\n };\r\n // Add it to the vehicle list\r\n this.vehicleList.push(this.vehicle);\r\n } else if (vehicleId && vehicleId !== '0') {\r\n // Try to find the one wanted\r\n for (let v = 0; v < this.vehicleList.length; v += 1) {\r\n const foundVehicle = this.vehicleList[v];\r\n\r\n if (foundVehicle && foundVehicle.VehicleSequenceNumber === vehicleId) {\r\n this.vehicle = foundVehicle;\r\n this.vehicle.GaragingLocation = {};\r\n }\r\n }\r\n }\r\n\r\n if (this.vehicle === null) {\r\n // Default to the first vehicle\r\n this.vehicle = this.vehicleList[0];\r\n this.vehicle.GaragingLocation = {};\r\n }\r\n } else {\r\n // No vehicles have been entered, so build an empty vehicle object\r\n this.vehicle = {\r\n VIN: null, Year: null, Make: null, Model: null, Description: '', GaragingLocation: {},\r\n };\r\n // Add it to the vehicle list\r\n this.vehicleList.push(this.vehicle);\r\n }\r\n\r\n if (this.vehicle.VIN !== null && this.vehicle.Year !== null) {\r\n if (this.vehicle.VIN === '') {\r\n this.enterByVin = false;\r\n } else {\r\n this.enterByVin = true;\r\n this.isValidVin = true;\r\n }\r\n }\r\n\r\n this.getVehicleYears();\r\n this.getSafetyOptions();\r\n this.getPrimaryUses();\r\n\r\n // If this is not an individual quote, set the primary use and don't allow changes\r\n if (this.quoteData.Quote.OwnershipCode !== 'I') {\r\n this.primaryUseDisabled = true;\r\n this.vehicle.PrimaryVehicleUse = '3';\r\n this.vehicle.DaysPerWeekDriven = '0';\r\n }\r\n\r\n if (this.vehicle.GaragingLocationSequenceNumber && this.vehicle.GaragingLocationSequenceNumber !== null) {\r\n for (let g = 0; g < this.quoteData.GaragingLocations.length; g += 1) {\r\n const foundLocation = this.quoteData.GaragingLocations[g];\r\n\r\n if (foundLocation && foundLocation.LocationSequenceNumber === this.vehicle.GaragingLocationSequenceNumber) {\r\n this.vehicle.GaragingLocation.Address1 = foundLocation.Address1;\r\n this.vehicle.GaragingLocation.Address2 = foundLocation.Address2;\r\n this.vehicle.GaragingLocation.City = foundLocation.City;\r\n this.vehicle.GaragingLocation.State = foundLocation.State;\r\n this.vehicle.GaragingLocation.ZipCode = foundLocation.ZipCode;\r\n this.vehicle.GaragingLocation.LocationCounty = foundLocation.LocationCounty;\r\n }\r\n }\r\n }\r\n },\r\n onBack() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$router.push({ name: 'quoteAboutYou' });\r\n },\r\n onDelete() {\r\n if (this.vehicle.VehicleSequenceNumber) {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n // Remove the selected vehicle\r\n this.$store.dispatch('quotes/deleteVehicle', {\r\n sAgreementNumber: this.agreementNumber,\r\n sSubAgreementNumber: this.subAgreementNumber,\r\n sVehicleSequenceNumber: this.vehicle.VehicleSequenceNumber,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((quoteReturn) => {\r\n if (quoteReturn) {\r\n if (this.quoteData) {\r\n this.vehicleList = this.quoteData.Vehicles;\r\n // Go back to the first vehicle\r\n this.vehicle = this.quoteData.Vehicles[0];\r\n this.$router.push({ name: 'quoteVehicle' });\r\n }\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', genericErrorMessage);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n } else {\r\n // Remove the last vehicle\r\n this.vehicleList.pop();\r\n\r\n if (this.quoteData) {\r\n // Go back to the first vehicle\r\n this.vehicle = this.quoteData.Vehicles[0];\r\n this.$router.push({ name: 'quoteVehicle' });\r\n }\r\n }\r\n this.scrollToTop();\r\n },\r\n onSubmit() {\r\n this.saveVehicle(false);\r\n },\r\n onAddSubmit() {\r\n this.saveVehicle(true);\r\n },\r\n saveVehicle(addNew) {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/setIsLoading', true);\r\n\r\n // Is this an add or an update?\r\n if (this.vehicle.VehicleSequenceNumber) {\r\n // Update the existing vehicle\r\n this.$store.dispatch('quotes/updateVehicle', {\r\n sQuote: this.quoteDetails,\r\n sVehicle: this.vehicle,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((quoteReturn) => {\r\n if (quoteReturn) {\r\n if (addNew) {\r\n // They want to add another vehicle\r\n this.$refs.vehicleForm.reset();\r\n this.$refs.obv.reset();\r\n this.setupVehicle('new');\r\n this.scrollToTop();\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } else {\r\n // They want to continue on\r\n this.$router.push({ name: 'quoteDriver' });\r\n }\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', genericErrorMessage);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n } else {\r\n // Add the new vehicle\r\n this.$store.dispatch('quotes/addNewVehicle', {\r\n sQuote: this.quoteDetails,\r\n sVehicle: this.vehicle,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((quoteReturn) => {\r\n if (quoteReturn) {\r\n if (addNew) {\r\n // They want to add another vehicle\r\n this.$refs.vehicleForm.reset();\r\n this.setupVehicle('new');\r\n this.scrollToTop();\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } else {\r\n // They want to continue on\r\n this.$router.push({ name: 'quoteDriver' });\r\n }\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', genericErrorMessage);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n }\r\n },\r\n },\r\n watch: {\r\n $route: 'setupQuote',\r\n },\r\n async mounted() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.setupQuote();\r\n this.$store.dispatch('app/setIsLoading', false);\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n\r\n .tfb-quote-box {\r\n background-color: $white;\r\n color: $black;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vehicles.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vehicles.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Vehicles.vue?vue&type=template&id=b93df77e\"\nimport script from \"./Vehicles.vue?vue&type=script&lang=js\"\nexport * from \"./Vehicles.vue?vue&type=script&lang=js\"\nimport style0 from \"./Vehicles.vue?vue&type=style&index=0&id=b93df77e&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"background-darker-blue py-12\"},[_c('h2',{staticClass:\"tfb-title-text-large text-center\"},[_vm._v(\"Drivers\")]),_c('v-container',{staticClass:\"tfb-smallest-container tfb-quote-box pa-5 my-8\",attrs:{\"fluid\":\"\"}},[_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.driverList && _vm.driverList.length > 1 && _vm.driver && _vm.driver != null && !_vm.showSpouseRequired && !_vm.isPrimary),expression:\"driverList && driverList.length > 1 && driver && driver != null && !showSpouseRequired && !isPrimary\"}]},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red\",attrs:{\"disabled\":_vm.formDisabled},on:{\"click\":function($event){return _vm.onDelete()}}},[_vm._v(\" Remove Driver \")]),_c('br'),_c('br')],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showSpouseRequired),expression:\"showSpouseRequired\"}],staticClass:\"spouse-notification\",attrs:{\"role\":\"alert\"}},[_c('v-col',{staticClass:\"spouse-notification-notice\",attrs:{\"cols\":\"12\"}},[_c('h5',[_vm._v(\"Spouse is required to be added as an additional driver, even if they do not drive.\")])])],1),_c('required-fields-row'),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ passes }){return [(_vm.driver && _vm.driver != null)?_c('v-form',{ref:\"driverForm\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return passes(_vm.onSubmit)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"autocapitalize\":\"words\",\"autocomplete\":\"shipping given-name\",\"disabled\":_vm.isPrimary,\"label\":\"First Name\",\"minlength\":\"2\",\"maxlength\":\"25\",\"name\":\"fname\",\"rules\":\"required|min:2|max:25|name\"},model:{value:(_vm.driver.FirstName),callback:function ($$v) {_vm.$set(_vm.driver, \"FirstName\", $$v)},expression:\"driver.FirstName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"autocapitalize\":\"words\",\"autocomplete\":\"shipping given-name\",\"disabled\":_vm.isPrimary,\"label\":\"Last Name\",\"minlength\":\"2\",\"maxlength\":\"25\",\"name\":\"lname\",\"rules\":\"required|min:2|max:25|name\"},model:{value:(_vm.driver.LastName),callback:function ($$v) {_vm.$set(_vm.driver, \"LastName\", $$v)},expression:\"driver.LastName\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"autocomplete\":\"sex\",\"rules\":\"required\",\"label\":\"Gender\",\"items\":_vm.genderOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"disabled\":_vm.isPrimary},model:{value:(_vm.driver.Gender),callback:function ($$v) {_vm.$set(_vm.driver, \"Gender\", $$v)},expression:\"driver.Gender\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-menu',{ref:\"birthDateMenu\",attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required\",\"name\":\"Date of Birth\",\"vid\":\"birth\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid }){return [_c('v-text-field',_vm._g(_vm._b({directives:[{name:\"mask\",rawName:\"v-mask\",value:('##/##/####'),expression:\"'##/##/####'\"}],attrs:{\"outlined\":\"\",\"required\":\"\",\"readonly\":\"\",\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid,\"label\":\"Date of Birth\"},on:{\"change\":function($event){_vm.driver.DateOfBirth = _vm.parseDate(_vm.dateOfBirth)}},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-calendar\")]),_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.dateOfBirth),callback:function ($$v) {_vm.dateOfBirth=$$v},expression:\"dateOfBirth\"}},'v-text-field',attrs,false),on))]}}],null,true)})]}}],null,true),model:{value:(_vm.birthDateMenu),callback:function ($$v) {_vm.birthDateMenu=$$v},expression:\"birthDateMenu\"}},[_c('v-date-picker',{ref:\"picker\",attrs:{\"active-picker\":_vm.dateOfBirthActivePicker,\"color\":\"background-blue\",\"no-title\":\"\",\"max\":_vm.maxDateOfBirth,\"min\":\"1920-01-01\"},on:{\"update:activePicker\":function($event){_vm.dateOfBirthActivePicker=$event},\"update:active-picker\":function($event){_vm.dateOfBirthActivePicker=$event},\"input\":function($event){_vm.birthDateMenu = false}},model:{value:(_vm.driver.DateOfBirth),callback:function ($$v) {_vm.$set(_vm.driver, \"DateOfBirth\", $$v)},expression:\"driver.DateOfBirth\"}})],1)],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isPrimary),expression:\"!isPrimary\"}]},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Relation to You\",\"items\":_vm.relationshipOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"disabled\":_vm.isPrimarySpouse && _vm.driver.RelationshipToInsuredCode && _vm.driver.RelationshipToInsuredCode !== null && _vm.driver.RelationshipToInsuredCode !== ''},model:{value:(_vm.driver.RelationshipToInsuredCode),callback:function ($$v) {_vm.$set(_vm.driver, \"RelationshipToInsuredCode\", $$v)},expression:\"driver.RelationshipToInsuredCode\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required|alpha\",\"label\":\"Marital Status\",\"items\":_vm.maritalOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"disabled\":_vm.isPrimarySpouse && _vm.driver.MaritalStatusCode && _vm.driver.MaritalStatusCode !== null && _vm.driver.MaritalStatusCode !== ''},model:{value:(_vm.driver.MaritalStatusCode),callback:function ($$v) {_vm.$set(_vm.driver, \"MaritalStatusCode\", $$v)},expression:\"driver.MaritalStatusCode\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required|numeric\",\"label\":\"Occupation\",\"items\":_vm.occupationOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"vid\":\"occupation\"},model:{value:(_vm.driver.OccupationCode),callback:function ($$v) {_vm.$set(_vm.driver, \"OccupationCode\", $$v)},expression:\"driver.OccupationCode\"}})],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.driver.OccupationCode === '24'),expression:\"driver.OccupationCode === '24'\"}]},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required_if:occupation,24|alpha\",\"label\":\"Grade Point Average\",\"items\":_vm.gpaOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"vid\":\"gpa\"},model:{value:(_vm.driver.AcademicAchievement),callback:function ($$v) {_vm.$set(_vm.driver, \"AcademicAchievement\", $$v)},expression:\"driver.AcademicAchievement\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required|alpha\",\"label\":\"Select for Death Indemnity\",\"items\":_vm.yesNoOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"name\":\"Death Indemnity\"},model:{value:(_vm.driver.IncludeAsDI),callback:function ($$v) {_vm.$set(_vm.driver, \"IncludeAsDI\", $$v)},expression:\"driver.IncludeAsDI\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required|alpha\",\"label\":\"Current Driver's License?\",\"items\":_vm.yesNoOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"vid\":\"currentLicense\",\"name\":\"Current License\"},model:{value:(_vm.driver.OperatorStatusIndicator),callback:function ($$v) {_vm.$set(_vm.driver, \"OperatorStatusIndicator\", $$v)},expression:\"driver.OperatorStatusIndicator\"}})],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.driver.OperatorStatusIndicator === 'N'),expression:\"driver.OperatorStatusIndicator === 'N'\"}]},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required_if:currentLicense,N|alpha\",\"label\":\"Reason for No Current Driver's License\",\"items\":_vm.noLicenseOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"vid\":\"licenseReason\"},model:{value:(_vm.driver.OperatorStatusCode),callback:function ($$v) {_vm.$set(_vm.driver, \"OperatorStatusCode\", $$v)},expression:\"driver.OperatorStatusCode\"}})],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.driver.OperatorStatusIndicator === 'Y'),expression:\"driver.OperatorStatusIndicator === 'Y'\"}]},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required_if:currentLicense,Y|min:4|max:18\",\"label\":\"Driver's License Number\",\"autocapitalize\":\"characters\",\"minlength\":\"4\",\"maxlength\":\"18\"},model:{value:(_vm.driver.DriversLicenseNumber),callback:function ($$v) {_vm.$set(_vm.driver, \"DriversLicenseNumber\", $$v)},expression:\"driver.DriversLicenseNumber\"}})],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.driver.OperatorStatusIndicator === 'Y'),expression:\"driver.OperatorStatusIndicator === 'Y'\"}]},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required_if:currentLicense,Y|alpha\",\"label\":\"Issuing State\",\"items\":_vm.stateOptions,\"item-text\":\"StateName\",\"item-value\":\"StateCode\",\"vid\":\"licenseState\"},model:{value:(_vm.driver.DriversLicenseState),callback:function ($$v) {_vm.$set(_vm.driver, \"DriversLicenseState\", $$v)},expression:\"driver.DriversLicenseState\"}})],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.driver.OperatorStatusIndicator === 'Y'),expression:\"driver.OperatorStatusIndicator === 'Y'\"}]},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required_if:currentLicense,Y|numeric\",\"label\":\"Vehicle Primarily Driven\",\"items\":_vm.vehicleList,\"item-text\":\"DisplayText\",\"item-value\":\"Value\"},model:{value:(_vm.driver.VehicleNumber),callback:function ($$v) {_vm.$set(_vm.driver, \"VehicleNumber\", $$v)},expression:\"driver.VehicleNumber\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"header-text text-red\"},[_vm._v(\"Answer the following for \"+_vm._s(_vm.driver.FirstName)+\"...\")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',[_vm._v(\"Had any accidents in the last 3 years?\")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('radio-group-input',{attrs:{\"rules\":\"required\",\"name\":\"number of accidents\",\"options\":_vm.yesNoOptions},model:{value:(_vm.driver.HasAccident),callback:function ($$v) {_vm.$set(_vm.driver, \"HasAccident\", $$v)},expression:\"driver.HasAccident\"}})],1)],1),(_vm.driver.HasAccident === 'Y' && _vm.driver.Accidents.length <= 0)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" At least one accident is required \")])],1):_vm._e(),(_vm.driver.HasAccident === 'Y' && _vm.driver.Accidents.length > 0)?_c('div',_vm._l((_vm.driver.Accidents),function(accident){return _c('accident-details',_vm._b({key:accident.Id,attrs:{\"accident\":accident},on:{\"remove-accident\":function($event){return _vm.removeAccident($event)}}},'accident-details',accident,false,true))}),1):_vm._e(),(_vm.driver.HasAccident === 'Y' && _vm.driver.Accidents.length <= 3)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"float-right tfb-button-min background-red\",on:{\"click\":function($event){return _vm.addAccident()}}},[_vm._v(\" Add Accident \")])],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',[_vm._v(\"Had any moving violations in the last 3 years?\")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('radio-group-input',{attrs:{\"rules\":\"required\",\"name\":\"number of violations\",\"options\":_vm.yesNoOptions},model:{value:(_vm.driver.HasViolation),callback:function ($$v) {_vm.$set(_vm.driver, \"HasViolation\", $$v)},expression:\"driver.HasViolation\"}})],1)],1),(_vm.driver.HasViolation === 'Y' && _vm.driver.Violations.length <= 0)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" At least one violation is required \")])],1):_vm._e(),(_vm.driver.HasViolation === 'Y' && _vm.driver.Violations.length > 0)?_c('div',_vm._l((_vm.driver.Violations),function(violation){return _c('violation-details',_vm._b({key:violation.Id,attrs:{\"violation\":violation},on:{\"remove-violation\":function($event){return _vm.removeViolation($event)}}},'violation-details',violation,false,true))}),1):_vm._e(),(_vm.driver.HasViolation === 'Y' && _vm.driver.Violations.length <= 3)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"float-right tfb-button-min background-red\",on:{\"click\":function($event){return _vm.addViolation()}}},[_vm._v(\" Add Violation \")])],1)],1):_vm._e(),(_vm.showDriverTraining)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',[_vm._v(\"Taken a driver training course within the last 3 years?\")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('radio-group-input',{attrs:{\"rules\":\"required\",\"name\":\"driver training\",\"options\":_vm.yesNoOptions},model:{value:(_vm.driver.DriverTraining),callback:function ($$v) {_vm.$set(_vm.driver, \"DriverTraining\", $$v)},expression:\"driver.DriverTraining\"}})],1)],1):_vm._e(),(_vm.effectiveDateCheck)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',[_vm._v(\"Taken a defensive driving course within the last 3 years?\")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('radio-group-input',{attrs:{\"rules\":\"required\",\"name\":\"defensive driving\",\"options\":_vm.yesNoOptions},model:{value:(_vm.driver.DefensiveDriving),callback:function ($$v) {_vm.$set(_vm.driver, \"DefensiveDriving\", $$v)},expression:\"driver.DefensiveDriving\"}})],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',[_vm._v(\"Currently have or plan to purchase a Homeowners or Texas AgAdvantage policy with us?\")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('radio-group-input',{attrs:{\"rules\":\"required\",\"name\":\"current Homeowners or Texas AgAdvantage policy\",\"options\":_vm.hasTfbOptions,\"vid\":\"hasPolicy\"},model:{value:(_vm.quoteDetails.HasCurrentTFBPolicy),callback:function ($$v) {_vm.$set(_vm.quoteDetails, \"HasCurrentTFBPolicy\", $$v)},expression:\"quoteDetails.HasCurrentTFBPolicy\"}})],1)],1),(_vm.quoteDetails.HasCurrentTFBPolicy === 'P')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"min:4|max:6\",\"label\":\"Current Member Number\",\"autocapitalize\":\"characters\",\"minlength\":\"4\",\"maxlength\":\"6\"},model:{value:(_vm.driver.MemberNumber),callback:function ($$v) {_vm.$set(_vm.driver, \"MemberNumber\", $$v)},expression:\"driver.MemberNumber\"}})],1)],1):_vm._e(),(_vm.driveNSaveCheck === 'Y')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('label',[_vm._v(\"Are you interested in using our Drive’n Save mobile app?\"),_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"mdi-numeric-1\")])],1)]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('radio-group-input',{attrs:{\"rules\":\"required\",\"name\":\"Drive N Save\",\"options\":_vm.yesNoOptions},model:{value:(_vm.driver.DriveNSaveEnrollment),callback:function ($$v) {_vm.$set(_vm.driver, \"DriveNSaveEnrollment\", $$v)},expression:\"driver.DriveNSaveEnrollment\"}})],1),_c('v-col',{staticClass:\"tfb-header-text-small\",attrs:{\"cols\":\"12\"}},[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"mdi-numeric-1\")]),_vm._v(\" Drive’n Save is a mobile app that rewards you for good driving behavior with a discount on your policy premium. Your answer to this question helps us create your custom quote. \")],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required|numeric\",\"label\":\"How many Auto claims were made in the last 3 years?\",\"name\":\"number of claims\",\"items\":_vm.claimCountOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\"},model:{value:(_vm.driver.ClaimCount),callback:function ($$v) {_vm.$set(_vm.driver, \"ClaimCount\", $$v)},expression:\"driver.ClaimCount\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red float-right\",attrs:{\"disabled\":_vm.formDisabled},on:{\"click\":function($event){return passes(_vm.onAddSubmit)}}},[_vm._v(\" Add Another Driver \")]),_c('br'),_c('br')],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"order\":\"2\",\"order-sm\":\"1\"}},[_c('v-btn',{class:[ !_vm.isMobile ? 'float-right' : '', 'tfb-button-min', 'background-red' ],on:{\"click\":_vm.onBack}},[_c('v-icon',[_vm._v(\"mdi-chevron-left\")]),_vm._v(\" Go Back \")],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"order\":\"1\",\"order-sm\":\"2\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red float-right\",attrs:{\"type\":\"submit\",\"disabled\":_vm.formDisabled}},[_vm._v(\" Continue \"),_c('v-icon',[_vm._v(\"mdi-chevron-right\")])],1)],1)],1)],1):_vm._e()]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-sheet',{staticClass:\"pa-4\",attrs:{\"elevation\":\"4\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-menu',{ref:\"accidentDateMenu\",attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required\",\"name\":\"Accident Date\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid }){return [_c('v-text-field',_vm._g({attrs:{\"outlined\":\"\",\"required\":\"\",\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid,\"label\":\"Accident Date\"},on:{\"blur\":function($event){_vm.accident.AccidentDate = _vm.parseDate(_vm.accidentDateFormatted)}},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-calendar\")]),_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.accidentDateFormatted),callback:function ($$v) {_vm.accidentDateFormatted=$$v},expression:\"accidentDateFormatted\"}},on))]}}],null,true)})]}}]),model:{value:(_vm.accidentDateMenu),callback:function ($$v) {_vm.accidentDateMenu=$$v},expression:\"accidentDateMenu\"}},[_c('v-date-picker',{attrs:{\"color\":\"background-blue\",\"no-title\":\"\",\"min\":_vm.minIncidentDate,\"max\":_vm.maxIncidentDate},on:{\"input\":function($event){_vm.accidentDateMenu = false}},model:{value:(_vm.accident.AccidentDate),callback:function ($$v) {_vm.$set(_vm.accident, \"AccidentDate\", $$v)},expression:\"accident.AccidentDate\"}})],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Which option best describes this accident?\",\"name\":\"accident type\",\"items\":_vm.accidentTypeOptions,\"item-text\":\"AccidentTypeText\",\"item-value\":\"AccidentTypeId\"},model:{value:(_vm.accident.AccidentTypeCode),callback:function ($$v) {_vm.$set(_vm.accident, \"AccidentTypeCode\", $$v)},expression:\"accident.AccidentTypeCode\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"What option best describes the driver's responsibility for this accident?\",\"name\":\"driver responsibility\",\"items\":_vm.atFaultOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\"},model:{value:(_vm.accident.AtFaultIndicator),callback:function ($$v) {_vm.$set(_vm.accident, \"AtFaultIndicator\", $$v)},expression:\"accident.AtFaultIndicator\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|min:1|max:10|integer\",\"label\":\"Total property damage paid\",\"type\":\"number\",\"prefix\":\"mdi-currency-usd\"},model:{value:(_vm.accident.AccidentAmount),callback:function ($$v) {_vm.$set(_vm.accident, \"AccidentAmount\", $$v)},expression:\"accident.AccidentAmount\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"float-right tfb-button-min background-red\",on:{\"click\":function($event){return _vm.$emit('remove-accident', _vm.accident.Id)}}},[_vm._v(\" Remove Accident \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-sheet elevation=\"4\"\r\n class=\"pa-4\">\r\n <!-- Accident Date -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-menu ref=\"accidentDateMenu\"\r\n v-model=\"accidentDateMenu\"\r\n :close-on-content-click=\"false\"\r\n transition=\"scale-transition\"\r\n offset-y\r\n max-width=\"290px\"\r\n min-width=\"290px\">\r\n <template v-slot:activator=\"{ on }\">\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required\"\r\n name=\"Accident Date\"\r\n v-slot=\"{ errors, valid }\">\r\n <v-text-field outlined\r\n required\r\n hide-details=\"auto\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n v-model=\"accidentDateFormatted\"\r\n label=\"Accident Date\"\r\n @blur=\"accident.AccidentDate = parseDate(accidentDateFormatted)\"\r\n v-on=\"on\">\r\n <template v-slot:append>\r\n <v-icon>mdi-calendar</v-icon>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-text-field>\r\n </ValidationProvider>\r\n </template>\r\n <v-date-picker v-model=\"accident.AccidentDate\"\r\n color=\"background-blue\"\r\n no-title\r\n :min=\"minIncidentDate\"\r\n :max=\"maxIncidentDate\"\r\n @input=\"accidentDateMenu = false\"></v-date-picker>\r\n </v-menu>\r\n </v-col>\r\n </v-row>\r\n <!-- Accident Type -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Which option best describes this accident?\"\r\n name=\"accident type\"\r\n :items=\"accidentTypeOptions\"\r\n item-text=\"AccidentTypeText\"\r\n item-value=\"AccidentTypeId\"\r\n v-model=\"accident.AccidentTypeCode\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- At Fault Indicator -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"What option best describes the driver's responsibility for this accident?\"\r\n name=\"driver responsibility\"\r\n :items=\"atFaultOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"accident.AtFaultIndicator\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Accident Cost -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|min:1|max:10|integer\"\r\n label=\"Total property damage paid\"\r\n type=\"number\"\r\n prefix=\"mdi-currency-usd\"\r\n v-model=\"accident.AccidentAmount\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-btn v-on:click=\"$emit('remove-accident', accident.Id)\"\r\n class=\"float-right tfb-button-min background-red\">\r\n Remove Accident\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-sheet>\r\n</template>\r\n<script>\r\n import { subYears } from 'date-fns';\r\n import { ValidationProvider } from 'vee-validate';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n/* eslint object-shorthand: 0 */\r\n\r\n export default {\r\n name: 'RateQuoteAccident',\r\n props: {\r\n accident: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n components: {\r\n ValidationProvider,\r\n },\r\n data() {\r\n return {\r\n accidentTypeOptions: null,\r\n atFaultOptions: [{ Value: true, DisplayText: 'At-Fault' }, { Value: false, DisplayText: 'Not-At-Fault' }],\r\n accidentDateFormatted: this.formatDate(this.accident.AccidentDate),\r\n accidentDateMenu: false,\r\n };\r\n },\r\n computed: {\r\n minIncidentDate() {\r\n return this.parseDate(subYears(new Date(), 3).toISOString());\r\n },\r\n maxIncidentDate() {\r\n return this.parseDate(new Date().toISOString());\r\n },\r\n },\r\n methods: {\r\n getAccidentTypes() {\r\n this.$store.dispatch('quotes/getAccidentTypes', { sTfbId: this.trackingId })\r\n .then((accidentTypeResponse) => {\r\n this.accidentTypeOptions = accidentTypeResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n },\r\n watch: {\r\n 'accident.AccidentDate'(val) {\r\n this.accidentDateFormatted = this.formatDate(val);\r\n },\r\n },\r\n mounted() {\r\n this.getAccidentTypes();\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Accident.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Accident.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Accident.vue?vue&type=template&id=7bbc2d65\"\nimport script from \"./Accident.vue?vue&type=script&lang=js\"\nexport * from \"./Accident.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-sheet',{staticClass:\"pa-4\",attrs:{\"elevation\":\"4\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-menu',{ref:\"violationDateMenu\",attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('keep-alive',[_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required\",\"name\":\"Violation Date\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid }){return [_c('v-text-field',_vm._g({attrs:{\"outlined\":\"\",\"required\":\"\",\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid,\"label\":\"Violation Date\"},on:{\"blur\":function($event){_vm.violation.ViolationDate = _vm.parseDate(_vm.violationDateFormatted)}},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-calendar\")]),_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.violationDateFormatted),callback:function ($$v) {_vm.violationDateFormatted=$$v},expression:\"violationDateFormatted\"}},on))]}}],null,true)})],1)]}}]),model:{value:(_vm.violationDateMenu),callback:function ($$v) {_vm.violationDateMenu=$$v},expression:\"violationDateMenu\"}},[_c('v-date-picker',{attrs:{\"color\":\"background-blue\",\"no-title\":\"\",\"min\":_vm.minIncidentDate,\"max\":_vm.maxIncidentDate},on:{\"input\":function($event){_vm.violationDateMenu = false}},model:{value:(_vm.violation.ViolationDate),callback:function ($$v) {_vm.$set(_vm.violation, \"ViolationDate\", $$v)},expression:\"violation.ViolationDate\"}})],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Which option best describes this violation?\",\"name\":\"violation type\",\"items\":_vm.violationTypeOptions,\"item-text\":\"ViolationTypeText\",\"item-value\":\"ViolationTypeId\"},model:{value:(_vm.violation.ViolationTypeCode),callback:function ($$v) {_vm.$set(_vm.violation, \"ViolationTypeCode\", $$v)},expression:\"violation.ViolationTypeCode\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"float-right tfb-button-min background-red\",on:{\"click\":function($event){return _vm.$emit('remove-violation', _vm.violation.Id)}}},[_vm._v(\" Remove Violation \")]),_c('br')],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-sheet elevation=\"4\"\r\n class=\"pa-4\">\r\n <!-- Violation Date -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-menu ref=\"violationDateMenu\"\r\n v-model=\"violationDateMenu\"\r\n :close-on-content-click=\"false\"\r\n transition=\"scale-transition\"\r\n offset-y\r\n max-width=\"290px\"\r\n min-width=\"290px\">\r\n <template v-slot:activator=\"{ on }\">\r\n <keep-alive>\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required\"\r\n name=\"Violation Date\"\r\n v-slot=\"{ errors, valid }\">\r\n <v-text-field outlined\r\n required\r\n hide-details=\"auto\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n v-model=\"violationDateFormatted\"\r\n label=\"Violation Date\"\r\n @blur=\"violation.ViolationDate = parseDate(violationDateFormatted)\"\r\n v-on=\"on\">\r\n <template v-slot:append>\r\n <v-icon>mdi-calendar</v-icon>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-text-field>\r\n </ValidationProvider>\r\n </keep-alive>\r\n </template>\r\n <v-date-picker v-model=\"violation.ViolationDate\"\r\n color=\"background-blue\"\r\n no-title\r\n :min=\"minIncidentDate\"\r\n :max=\"maxIncidentDate\"\r\n @input=\"violationDateMenu = false\"></v-date-picker>\r\n </v-menu>\r\n </v-col>\r\n </v-row>\r\n <!-- Violation Type -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Which option best describes this violation?\"\r\n name=\"violation type\"\r\n :items=\"violationTypeOptions\"\r\n item-text=\"ViolationTypeText\"\r\n item-value=\"ViolationTypeId\"\r\n v-model=\"violation.ViolationTypeCode\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-btn v-on:click=\"$emit('remove-violation', violation.Id)\"\r\n class=\"float-right tfb-button-min background-red\">\r\n Remove Violation\r\n </v-btn><br />\r\n </v-col>\r\n </v-row>\r\n </v-sheet>\r\n</template>\r\n<script>\r\n import { subYears } from 'date-fns';\r\n import { ValidationProvider } from 'vee-validate';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n/* eslint object-shorthand: 0 */\r\n\r\n export default {\r\n name: 'RateQuoteViolation',\r\n props: {\r\n violation: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n components: {\r\n ValidationProvider,\r\n },\r\n data() {\r\n return {\r\n violationTypeOptions: null,\r\n violationDateFormatted: this.formatDate(this.violation.ViolationDate),\r\n violationDateMenu: false,\r\n };\r\n },\r\n computed: {\r\n minIncidentDate() {\r\n return this.parseDate(subYears(new Date(), 3).toISOString());\r\n },\r\n maxIncidentDate() {\r\n return this.parseDate(new Date().toISOString());\r\n },\r\n },\r\n methods: {\r\n getViolationTypes() {\r\n this.$store.dispatch('quotes/getViolationTypes', { sTfbId: this.trackingId })\r\n .then((violationTypeResponse) => {\r\n this.violationTypeOptions = violationTypeResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n },\r\n watch: {\r\n 'violation.ViolationDate'(val) {\r\n this.violationDateFormatted = this.formatDate(val);\r\n },\r\n },\r\n mounted() {\r\n this.getViolationTypes();\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Violation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Violation.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Violation.vue?vue&type=template&id=42b5402e\"\nimport script from \"./Violation.vue?vue&type=script&lang=js\"\nexport * from \"./Violation.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div class=\"background-darker-blue py-12\">\r\n <h2 class=\"tfb-title-text-large text-center\">Drivers</h2>\r\n <v-container fluid\r\n class=\"tfb-smallest-container tfb-quote-box pa-5 my-8\">\r\n <v-row v-show=\"driverList && driverList.length > 1 && driver && driver != null && !showSpouseRequired && !isPrimary\">\r\n <v-col cols=\"12\">\r\n <v-btn @click=\"onDelete()\"\r\n :disabled=\"formDisabled\"\r\n class=\"tfb-button-min background-red\">\r\n Remove Driver\r\n </v-btn>\r\n <br /><br />\r\n </v-col>\r\n </v-row>\r\n <v-row v-show=\"showSpouseRequired\"\r\n class=\"spouse-notification\"\r\n role=\"alert\">\r\n <v-col cols=\"12\"\r\n class=\"spouse-notification-notice\">\r\n <h5>Spouse is required to be added as an additional driver, even if they do not drive.</h5>\r\n </v-col>\r\n </v-row>\r\n <required-fields-row></required-fields-row>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ passes }\">\r\n <v-form ref=\"driverForm\"\r\n v-if=\"driver && driver != null\"\r\n @submit.stop.prevent=\"passes(onSubmit)\">\r\n <!-- First Name -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input autocapitalize=\"words\"\r\n autocomplete=\"shipping given-name\"\r\n :disabled=\"isPrimary\"\r\n label=\"First Name\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n name=\"fname\"\r\n rules=\"required|min:2|max:25|name\"\r\n v-model=\"driver.FirstName\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Last Name -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input autocapitalize=\"words\"\r\n autocomplete=\"shipping given-name\"\r\n :disabled=\"isPrimary\"\r\n label=\"Last Name\"\r\n minlength=\"2\"\r\n maxlength=\"25\"\r\n name=\"lname\"\r\n rules=\"required|min:2|max:25|name\"\r\n v-model=\"driver.LastName\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Gender -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input autocomplete=\"sex\"\r\n rules=\"required\"\r\n label=\"Gender\"\r\n :items=\"genderOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"driver.Gender\"\r\n :disabled=\"isPrimary\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Date of Birth -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-menu ref=\"birthDateMenu\"\r\n v-model=\"birthDateMenu\"\r\n :close-on-content-click=\"false\"\r\n transition=\"scale-transition\"\r\n offset-y\r\n max-width=\"290px\"\r\n min-width=\"290px\">\r\n <template v-slot:activator=\"{ on, attrs }\">\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required\"\r\n name=\"Date of Birth\"\r\n v-slot=\"{ errors, valid }\"\r\n vid=\"birth\">\r\n <v-text-field outlined\r\n required\r\n readonly\r\n hide-details=\"auto\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n v-model=\"dateOfBirth\"\r\n v-mask=\"'##/##/####'\"\r\n label=\"Date of Birth\"\r\n @change=\"driver.DateOfBirth = parseDate(dateOfBirth)\"\r\n v-bind=\"attrs\"\r\n v-on=\"on\">\r\n <template v-slot:append>\r\n <v-icon>mdi-calendar</v-icon>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-text-field>\r\n </ValidationProvider>\r\n </template>\r\n <v-date-picker ref=\"picker\"\r\n v-model=\"driver.DateOfBirth\"\r\n :active-picker.sync=\"dateOfBirthActivePicker\"\r\n color=\"background-blue\"\r\n no-title\r\n @input=\"birthDateMenu = false\"\r\n :max=\"maxDateOfBirth\"\r\n min=\"1920-01-01\"></v-date-picker>\r\n </v-menu>\r\n </v-col>\r\n </v-row>\r\n <!-- Relation to you -->\r\n <v-row v-show=\"!isPrimary\">\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Relation to You\"\r\n :items=\"relationshipOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"driver.RelationshipToInsuredCode\"\r\n :disabled=\"isPrimarySpouse && driver.RelationshipToInsuredCode && driver.RelationshipToInsuredCode !== null && driver.RelationshipToInsuredCode !== ''\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Marital Status -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required|alpha\"\r\n label=\"Marital Status\"\r\n :items=\"maritalOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"driver.MaritalStatusCode\"\r\n :disabled=\"isPrimarySpouse && driver.MaritalStatusCode && driver.MaritalStatusCode !== null && driver.MaritalStatusCode !== ''\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Occupation -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required|numeric\"\r\n label=\"Occupation\"\r\n :items=\"occupationOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"driver.OccupationCode\"\r\n vid=\"occupation\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Academic Achievement -->\r\n <v-row v-show=\"driver.OccupationCode === '24'\">\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required_if:occupation,24|alpha\"\r\n label=\"Grade Point Average\"\r\n :items=\"gpaOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"driver.AcademicAchievement\"\r\n vid=\"gpa\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Designated Insured -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required|alpha\"\r\n label=\"Select for Death Indemnity\"\r\n :items=\"yesNoOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"driver.IncludeAsDI\"\r\n name=\"Death Indemnity\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Current driver's license -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required|alpha\"\r\n label=\"Current Driver's License?\"\r\n :items=\"yesNoOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"driver.OperatorStatusIndicator\"\r\n vid=\"currentLicense\"\r\n name=\"Current License\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Reason for no license -->\r\n <v-row v-show=\"driver.OperatorStatusIndicator === 'N'\">\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required_if:currentLicense,N|alpha\"\r\n label=\"Reason for No Current Driver's License\"\r\n :items=\"noLicenseOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"driver.OperatorStatusCode\"\r\n vid=\"licenseReason\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Drivers license number -->\r\n <v-row v-show=\"driver.OperatorStatusIndicator === 'Y'\">\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required_if:currentLicense,Y|min:4|max:18\"\r\n label=\"Driver's License Number\"\r\n autocapitalize=\"characters\"\r\n minlength=\"4\"\r\n maxlength=\"18\"\r\n v-model=\"driver.DriversLicenseNumber\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Issuing State -->\r\n <v-row v-show=\"driver.OperatorStatusIndicator === 'Y'\">\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required_if:currentLicense,Y|alpha\"\r\n label=\"Issuing State\"\r\n :items=\"stateOptions\"\r\n item-text=\"StateName\"\r\n item-value=\"StateCode\"\r\n v-model=\"driver.DriversLicenseState\"\r\n vid=\"licenseState\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Primary vehicle -->\r\n <v-row v-show=\"driver.OperatorStatusIndicator === 'Y'\">\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required_if:currentLicense,Y|numeric\"\r\n label=\"Vehicle Primarily Driven\"\r\n :items=\"vehicleList\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"driver.VehicleNumber\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h4 class=\"header-text text-red\">Answer the following for {{driver.FirstName}}...</h4>\r\n </v-col>\r\n </v-row>\r\n <!-- Accidents -->\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"8\">\r\n <label>Had any accidents in the last 3 years?</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\">\r\n <radio-group-input rules=\"required\"\r\n name=\"number of accidents\"\r\n :options=\"yesNoOptions\"\r\n v-model=\"driver.HasAccident\"></radio-group-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Accident Information -->\r\n <v-row v-if=\"driver.HasAccident === 'Y' && driver.Accidents.length <= 0\">\r\n <v-col cols=\"12\">\r\n At least one accident is required\r\n </v-col>\r\n </v-row>\r\n <div v-if=\"driver.HasAccident === 'Y' && driver.Accidents.length > 0\">\r\n <accident-details v-for=\"accident in driver.Accidents\"\r\n v-bind:key=\"accident.Id\"\r\n :accident=\"accident\"\r\n v-bind.sync=\"accident\"\r\n v-on:remove-accident=\"removeAccident($event)\"></accident-details>\r\n </div>\r\n <v-row v-if=\"driver.HasAccident === 'Y' && driver.Accidents.length <= 3\">\r\n <v-col cols=\"12\">\r\n <v-btn @click=\"addAccident()\"\r\n class=\"float-right tfb-button-min background-red\">\r\n Add Accident\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n <!-- Violations -->\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"8\">\r\n <label>Had any moving violations in the last 3 years?</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\">\r\n <radio-group-input rules=\"required\"\r\n name=\"number of violations\"\r\n :options=\"yesNoOptions\"\r\n v-model=\"driver.HasViolation\"></radio-group-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Violation Information -->\r\n <v-row v-if=\"driver.HasViolation === 'Y' && driver.Violations.length <= 0\">\r\n <v-col cols=\"12\">\r\n At least one violation is required\r\n </v-col>\r\n </v-row>\r\n <div v-if=\"driver.HasViolation === 'Y' && driver.Violations.length > 0\">\r\n <violation-details v-for=\"violation in driver.Violations\"\r\n v-bind:key=\"violation.Id\"\r\n :violation=\"violation\"\r\n v-bind.sync=\"violation\"\r\n v-on:remove-violation=\"removeViolation($event)\"></violation-details>\r\n </div>\r\n <v-row v-if=\"driver.HasViolation === 'Y' && driver.Violations.length <= 3\">\r\n <v-col cols=\"12\">\r\n <v-btn @click=\"addViolation()\"\r\n class=\"float-right tfb-button-min background-red\">\r\n Add Violation\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n <!-- Driver Training 14033 -->\r\n <v-row v-if=\"showDriverTraining\">\r\n <v-col cols=\"12\"\r\n md=\"8\">\r\n <label>Taken a driver training course within the last 3 years?</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\">\r\n <radio-group-input rules=\"required\"\r\n name=\"driver training\"\r\n :options=\"yesNoOptions\"\r\n v-model=\"driver.DriverTraining\"></radio-group-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Defensive Driving 14025 -->\r\n <v-row v-if=\"effectiveDateCheck\">\r\n <v-col cols=\"12\"\r\n md=\"8\">\r\n <label>Taken a defensive driving course within the last 3 years?</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\">\r\n <radio-group-input rules=\"required\"\r\n name=\"defensive driving\"\r\n :options=\"yesNoOptions\"\r\n v-model=\"driver.DefensiveDriving\"></radio-group-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Have TFB Property Policy -->\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"8\">\r\n <label>Currently have or plan to purchase a Homeowners or Texas AgAdvantage policy with us?</label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\">\r\n <radio-group-input rules=\"required\"\r\n name=\"current Homeowners or Texas AgAdvantage policy\"\r\n :options=\"hasTfbOptions\"\r\n v-model=\"quoteDetails.HasCurrentTFBPolicy\"\r\n vid=\"hasPolicy\"></radio-group-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Current TFB Member Number -->\r\n <v-row v-if=\"quoteDetails.HasCurrentTFBPolicy === 'P'\">\r\n <v-col cols=\"12\">\r\n <text-input rules=\"min:4|max:6\"\r\n label=\"Current Member Number\"\r\n autocapitalize=\"characters\"\r\n minlength=\"4\"\r\n maxlength=\"6\"\r\n v-model=\"driver.MemberNumber\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Drive N' Save Enrollment -->\r\n <v-row v-if=\"driveNSaveCheck === 'Y'\">\r\n <v-col cols=\"12\"\r\n md=\"8\">\r\n <label>Are you interested in using our Drive’n Save mobile app?<v-icon x-small>mdi-numeric-1</v-icon></label>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"4\">\r\n <radio-group-input rules=\"required\"\r\n name=\"Drive N Save\"\r\n :options=\"yesNoOptions\"\r\n v-model=\"driver.DriveNSaveEnrollment\"></radio-group-input>\r\n </v-col>\r\n <v-col cols=\"12\" class=\"tfb-header-text-small\">\r\n <v-icon x-small>mdi-numeric-1</v-icon> Drive’n Save is a mobile app that rewards you for good driving behavior with a discount on your policy premium.\r\n Your answer to this question helps us create your custom quote.\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <!-- Number of Claims -->\r\n <select-input rules=\"required|numeric\"\r\n label=\"How many Auto claims were made in the last 3 years?\"\r\n name=\"number of claims\"\r\n :items=\"claimCountOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"driver.ClaimCount\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-btn @click=\"passes(onAddSubmit)\"\r\n :disabled=\"formDisabled\"\r\n class=\"tfb-button-min background-red float-right\">\r\n Add Another Driver\r\n </v-btn>\r\n <br /><br />\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n order=\"2\"\r\n order-sm=\"1\">\r\n <v-btn @click=\"onBack\"\r\n v-bind:class=\"[ !isMobile ? 'float-right' : '', 'tfb-button-min', 'background-red' ]\">\r\n <v-icon>mdi-chevron-left</v-icon>\r\n Go Back\r\n </v-btn>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n order=\"1\"\r\n order-sm=\"2\">\r\n <v-btn type=\"submit\"\r\n :disabled=\"formDisabled\"\r\n class=\"tfb-button-min background-red float-right\">\r\n Continue\r\n <v-icon>mdi-chevron-right</v-icon>\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import { ValidationObserver, ValidationProvider } from 'vee-validate';\r\n import { mask } from 'vue-the-mask';\r\n import {\r\n subYears, compareAsc, differenceInYears, parseISO,\r\n } from 'date-fns';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import { genericErrorMessage } from '@/mixins/errorMessages';\r\n import RequiredFieldsRow from '@/views/layout/components/RequiredFieldsRow.vue';\r\n import AccidentDetails from './components/Accident.vue';\r\n import ViolationDetails from './components/Violation.vue';\r\n/* eslint prefer-destructuring: 0 */\r\n/* eslint object-shorthand: 0 */\r\n/* eslint no-mixed-operators: 0 */\r\n/* eslint no-param-reassign: 0 */\r\n /* eslint no-unused-vars: 0 */\r\n\r\n export default {\r\n name: 'AutoQuoteDrivers',\r\n mixins: [tfbHelperMixin, tfbDataMixin, tfbMetaMixin],\r\n components: {\r\n ValidationObserver,\r\n ValidationProvider,\r\n RequiredFieldsRow,\r\n AccidentDetails,\r\n ViolationDetails,\r\n },\r\n directives: { mask },\r\n data() {\r\n return {\r\n formDisabled: false,\r\n quoteDetails: null,\r\n driver: null,\r\n driverList: null,\r\n vehicleList: null,\r\n stateOptions: null,\r\n relationshipOptions: null,\r\n occupationOptions: null,\r\n claimCountOptions: ['0', '1', '2', '3', '4', '5', '6', '7'],\r\n genderOptions: [\r\n { Id: 0, DisplayText: 'Female', Value: 'F' },\r\n { Id: 1, DisplayText: 'Male', Value: 'M' },\r\n ],\r\n gpaOptions: [\r\n { Id: 0, DisplayText: '3.0 or greater', Value: 'Y' },\r\n { Id: 1, DisplayText: '2.9 or lower', Value: 'N' },\r\n ],\r\n maritalOptions: [\r\n { Id: 0, DisplayText: 'Single', Value: 'S' },\r\n { Id: 1, DisplayText: 'Married', Value: 'M' },\r\n { Id: 2, DisplayText: 'Divorced', Value: 'D' },\r\n { Id: 3, DisplayText: 'Legally Separated', Value: 'X' },\r\n { Id: 4, DisplayText: 'Widowed', Value: 'W' },\r\n ],\r\n noLicenseOptions: [\r\n { Id: 0, DisplayText: 'Deployed Military', Value: 'M' },\r\n { Id: 1, DisplayText: 'Non Driver', Value: 'N' },\r\n { Id: 2, DisplayText: 'Permit Driver', Value: 'P' },\r\n { Id: 3, DisplayText: 'Excluded Driver', Value: 'E' },\r\n ],\r\n yesNoOptions: [{ Id: 0, DisplayText: 'Yes', Value: 'Y' }, { Id: 1, DisplayText: 'No', Value: 'N' }],\r\n hasTfbOptions: [{ Id: 0, DisplayText: 'Yes', Value: 'P' }, { Id: 1, DisplayText: 'No', Value: 'N' }],\r\n otherOption: { DisplayText: 'Other', Value: '0' },\r\n dateOfBirthActivePicker: null,\r\n birthDateMenu: false,\r\n isMobile: this.$vuetify.breakpoint.smAndDown,\r\n showSpouseRequired: false,\r\n };\r\n },\r\n computed: {\r\n metaDescription() {\r\n return 'Looking for an auto insurance quote? Use our online tool to learn how Texas Farm Bureau Insurance can help provide coverage for your precious ride.';\r\n },\r\n metaPageTitle() {\r\n return 'Drivers | Auto Rate Quote';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/quotes/auto/drivers`;\r\n },\r\n agreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/agreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n subAgreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/subAgreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n effectiveDateCheck() {\r\n try {\r\n const foundEffectiveDate = this.$store.getters['quotes/effectiveDate'];\r\n const result = compareAsc(this.parseDateAsDate(foundEffectiveDate), this.parseDateAsDate('2022-01-01'));\r\n\r\n // Is the effective date before the maximum effective date?\r\n return result < 0;\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n quoteData() {\r\n try {\r\n return this.$store.getters['quotes/quote'];\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n driveNSaveCheck() {\r\n if (!this.$store.state.app.driveNSaveEnabled) {\r\n this.$store.dispatch('app/setVisitor');\r\n }\r\n return this.$store.state.app.driveNSaveEnabled;\r\n },\r\n isPrimary() {\r\n return this.driver && this.driver.RelationshipToInsuredCode === '1';\r\n },\r\n isPrimarySpouse() {\r\n return this.driver && this.driver.RelationshipToInsuredCode === '2';\r\n },\r\n spouseRequired() {\r\n if (this.quoteDetails.OwnershipCode === 'I' && this.driver.RelationshipToInsuredCode === '1' && this.driver.MaritalStatusCode === 'M') {\r\n // Required to put spouse as a driver; check if there are already other drivers\r\n if (this.driverList.length > 1) {\r\n // See if the spouse has already been added\r\n for (let d = 0; d < this.driverList.length; d += 1) {\r\n const foundDriver = this.driverList[d];\r\n\r\n // Is this the Spouse?\r\n if (foundDriver && foundDriver.RelationshipToInsuredCode === '2') {\r\n // Already have the spouse; no need to create it again\r\n return false;\r\n }\r\n }\r\n\r\n // None of the existing drivers are the spouse; need to add\r\n return true;\r\n }\r\n\r\n // Only one driver, so we need to add the spouse\r\n return true;\r\n }\r\n\r\n // Not required to put spouse as driver\r\n return false;\r\n },\r\n maxDateOfBirth() {\r\n return this.parseDate(subYears(new Date(), 14).toISOString());\r\n },\r\n dateOfBirth() {\r\n return this.formatDate(this.driver.DateOfBirth);\r\n },\r\n showDriverTraining() {\r\n if (this.driver.DateOfBirth && this.driver.DateOfBirth !== null && this.driver.DateOfBirth !== '' && this.driver.DateOfBirth.length === 10) {\r\n // See if this driver is over 25\r\n const driverAge = differenceInYears(new Date(), parseISO(this.driver.DateOfBirth));\r\n return driverAge < 25;\r\n }\r\n return true;\r\n },\r\n },\r\n methods: {\r\n getOccupations() {\r\n this.$store.dispatch('quotes/getOccupations', { sTfbId: this.trackingId })\r\n .then((occupationResponse) => {\r\n this.occupationOptions = occupationResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getStates() {\r\n this.$store.dispatch('app/getStateList', { sTfbId: this.trackingId })\r\n .then((stateResponse) => {\r\n this.stateOptions = stateResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getRelationships() {\r\n this.$store.dispatch('quotes/getRelationships', { sTfbId: this.trackingId })\r\n .then((relationshipResponse) => {\r\n this.relationshipOptions = relationshipResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n buildVehicles(quote) {\r\n if (quote) {\r\n this.vehicleList = [];\r\n\r\n if (quote.Vehicles && quote.Vehicles.length > 0) {\r\n if (!quote.Vehicles[0].Year || quote.Vehicles[0].Year === '' || quote.Vehicles[0].Year === null) {\r\n // No saved vehicle information, so send them back\r\n this.$router.push({ name: 'quoteVehicle' });\r\n }\r\n } else {\r\n // No saved vehicle information, so send them back\r\n this.$router.push({ name: 'quoteVehicle' });\r\n }\r\n\r\n for (let v = 0; v < quote.Vehicles.length; v += 1) {\r\n const foundVehicle = quote.Vehicles[v];\r\n\r\n if (foundVehicle) {\r\n this.vehicleList.push({ Value: foundVehicle.VehicleSequenceNumber, DisplayText: foundVehicle.Description });\r\n }\r\n }\r\n this.vehicleList.push(this.otherOption);\r\n }\r\n },\r\n setupQuote() {\r\n if (this.quoteData) {\r\n this.quoteDetails = this.quoteData.Quote;\r\n\r\n this.driverList = this.quoteData.Operators;\r\n this.buildVehicles(this.quoteData);\r\n\r\n this.getOccupations();\r\n this.getRelationships();\r\n this.getStates();\r\n this.setupDriver(this.$route.params.id, false);\r\n } else {\r\n // No saved quote information, so go back to home\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n },\r\n setupDriver(driverId, isSpouse) {\r\n // Reset\r\n this.driver = null;\r\n this.dateOfBirthDriver = null;\r\n this.quoteDetails = null;\r\n this.showSpouseRequired = isSpouse;\r\n this.quoteDetails = this.quoteData.Quote;\r\n\r\n if (driverId && driverId === 'new') {\r\n // Adding a new driver\r\n this.driver = {\r\n Accidents: [],\r\n Violations: [],\r\n MaritalStatusCode: isSpouse ? 'M' : '',\r\n RelationshipToInsuredCode: isSpouse ? '2' : '',\r\n DriversLicenseState: 'TX',\r\n };\r\n\r\n // Add it to the driver list\r\n this.quoteData.Operators.push(this.driver);\r\n this.driverList = this.quoteData.Operators;\r\n } else if (driverId && driverId !== '0') {\r\n // Try to find the driver wanted\r\n for (let d = 0; d < this.driverList.length; d += 1) {\r\n const foundDriver = this.driverList[d];\r\n\r\n if (foundDriver && foundDriver.DriverSequenceNumber === driverId) {\r\n this.driver = foundDriver;\r\n }\r\n }\r\n }\r\n\r\n if (this.driver === null) {\r\n // Default to the first driver\r\n this.driver = this.driverList[0];\r\n }\r\n\r\n if (this.driver) {\r\n if (this.driver.DriversLicenseNumber && this.driver.DriversLicenseNumber.indexOf('0000000') !== -1) {\r\n this.driver.DriversLicenseNumber = '';\r\n }\r\n\r\n if (this.driver.RelationshipToInsuredCode === undefined || this.driver.RelationshipToInsuredCode === null || this.driver.RelationshipToInsuredCode !== '1') {\r\n // Hide the \"Self\" option in Relationships; Hide the \"Spouse\" option if applicable\r\n const relationshipArray = [];\r\n if (this.relationshipOptions && this.relationshipOptions.length > 0) {\r\n for (let r = 0; r < this.relationshipOptions.length; r += 1) {\r\n const foundRelationship = this.relationshipOptions[r];\r\n\r\n if (foundRelationship && this.isPrimarySpouse && foundRelationship.Value === '2') {\r\n relationshipArray.push(foundRelationship);\r\n } else if (foundRelationship && foundRelationship.Value !== '1') {\r\n relationshipArray.push(foundRelationship);\r\n }\r\n }\r\n }\r\n if (relationshipArray.length > 0) {\r\n this.relationshipOptions = relationshipArray;\r\n }\r\n }\r\n }\r\n },\r\n addAccident() {\r\n const accidentId = this.driver.Accidents.length + 1;\r\n this.driver.Accidents.push({\r\n Id: accidentId || '0',\r\n AccidentAmount: '0',\r\n AtFaultIndicator: '',\r\n AccidentTypeCode: '',\r\n AccidentDate: '',\r\n });\r\n this.driver.HasAccident = 'Y';\r\n },\r\n removeAccident(accidentId) {\r\n const holdAccidents = [];\r\n for (let a = 0; a < this.driver.Accidents.length; a += 1) {\r\n const foundAccident = this.driver.Accidents[a];\r\n\r\n if (foundAccident.Id !== accidentId) {\r\n holdAccidents.push(foundAccident);\r\n }\r\n }\r\n\r\n this.driver.Accidents = holdAccidents;\r\n\r\n if (holdAccidents.length <= 0) {\r\n this.driver.HasAccident = 'N';\r\n } else {\r\n this.driver.HasAccident = 'Y';\r\n }\r\n },\r\n addViolation() {\r\n const violationId = this.driver.Violations.length + 1;\r\n this.driver.Violations.push({\r\n Id: violationId || '0',\r\n ViolationTypeCode: '',\r\n ViolationDate: '',\r\n });\r\n this.driver.HasViolation = 'Y';\r\n },\r\n removeViolation(violationId) {\r\n const holdViolations = [];\r\n for (let v = 0; v < this.driver.Violations.length; v += 1) {\r\n const foundViolation = this.driver.Violations[v];\r\n\r\n if (foundViolation.Id !== violationId) {\r\n holdViolations.push(foundViolation);\r\n }\r\n }\r\n\r\n this.driver.Violations = holdViolations;\r\n\r\n if (holdViolations.length <= 0) {\r\n this.driver.HasViolation = 'N';\r\n } else {\r\n this.driver.HasViolation = 'Y';\r\n }\r\n },\r\n onBack() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$router.push({ name: 'quoteVehicle' });\r\n },\r\n onDelete() {\r\n if (this.driver.DriverSequenceNumber) {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n // Remove the selected driver\r\n this.$store.dispatch('quotes/deleteDriver', {\r\n sAgreementNumber: this.agreementNumber,\r\n sSubAgreementNumber: this.subAgreementNumber,\r\n sDriverSequenceNumber: this.driver.DriverSequenceNumber,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((quoteReturn) => {\r\n if (quoteReturn) {\r\n if (this.quoteData) {\r\n this.driverList = this.quoteData.Operators;\r\n // Go back to the first driver\r\n this.driver = this.quoteData.Operators[0];\r\n this.$router.push({ name: 'quoteDriver' });\r\n }\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', genericErrorMessage);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n } else {\r\n // Remove the last driver\r\n this.driverList.pop();\r\n\r\n if (this.quoteData) {\r\n // Go back to the first driver\r\n this.driver = this.quoteData.Operators[0];\r\n this.$router.push({ name: 'quoteDriver' });\r\n }\r\n }\r\n this.scrollToTop();\r\n },\r\n onSubmit() {\r\n this.saveDriver(false);\r\n },\r\n onAddSubmit() {\r\n this.saveDriver(true);\r\n },\r\n saveDriver(addNew) {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/setIsLoading', true);\r\n\r\n if (this.driver.OperatorStatusIndicator === 'Y') {\r\n this.driver.OperatorStatusCode = 'A';\r\n }\r\n\r\n let driverMethod = 'quotes/addNewDriver';\r\n\r\n if (this.driver.DriverSequenceNumber && this.driver.DriverSequenceNumber !== null && this.driver.DriverSequenceNumber) {\r\n driverMethod = 'quotes/updateDriver';\r\n }\r\n\r\n // Add/update the driver information\r\n this.$store.dispatch(driverMethod, {\r\n sQuote: this.quoteDetails,\r\n sDriver: this.driver,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((quoteReturn) => {\r\n if (quoteReturn) {\r\n if (this.spouseRequired) {\r\n // Required to add their spouse\r\n this.$refs.driverForm.reset();\r\n this.$refs.obv.reset();\r\n this.setupDriver('new', true);\r\n this.scrollToTop();\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } else if (addNew) {\r\n // They want to add another driver or Required to add their spouse\r\n this.$refs.driverForm.reset();\r\n this.$refs.obv.reset();\r\n this.setupDriver('new', false);\r\n this.scrollToTop();\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } else {\r\n // They want to continue on\r\n this.$router.push({ name: 'quoteCoverage' });\r\n }\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', genericErrorMessage);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n // (29023) Operator No. is assigned as the principal operator of more than one vehicle used for work or school over 50% of the time. (4458-15)\r\n // (2404) Cannot deselect if driver is principal operator on a vehicle (4681-60)\r\n if (error.ErrorMessage === 'Error deleting driver information: (2404) Cannot deselect if driver is principal operator on a vehicle (4681-60)') {\r\n this.$store.dispatch('app/setErrorMessage', 'Drivers must be removed as the primary operator of a vehicle before they can be removed as a driver.'\r\n + 'Please visit the Vehicles page to reassign the primary operators.');\r\n this.$store.dispatch('app/setIsLoading', false);\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n });\r\n },\r\n },\r\n watch: {\r\n $route: 'setupQuote',\r\n birthDateMenu(val) {\r\n setTimeout(() => { (this.dateOfBirthActivePicker = 'YEAR'); });\r\n },\r\n },\r\n mounted() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.setupQuote();\r\n this.$store.dispatch('app/setIsLoading', false);\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfb-quote-box {\r\n background-color: $white;\r\n color: $black;\r\n }\r\n\r\n .spouse-notification {\r\n color: #e6e6e6 !important;\r\n background-color: $tfb-blue !important;\r\n border-color: $tfb-darkest-blue !important;\r\n vertical-align: middle;\r\n margin: 0px;\r\n padding: 0px;\r\n margin-bottom: 2px;\r\n border: 1px solid transparent;\r\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\r\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\r\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\r\n }\r\n\r\n .spouse-notification-notice {\r\n color: #e6e6e6 !important;\r\n background-color: $tfb-blue !important;\r\n border-color: $tfb-darkest-blue !important;\r\n padding: 5px;\r\n vertical-align: middle;\r\n margin: 0px;\r\n width: 100%;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Drivers.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Drivers.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Drivers.vue?vue&type=template&id=729c94a5\"\nimport script from \"./Drivers.vue?vue&type=script&lang=js\"\nexport * from \"./Drivers.vue?vue&type=script&lang=js\"\nimport style0 from \"./Drivers.vue?vue&type=style&index=0&id=729c94a5&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"background-darker-blue py-12\"},[_c('h2',{staticClass:\"tfb-title-text-large text-center\"},[_vm._v(\"Coverages\")]),_c('v-container',{staticClass:\"tfb-smallest-container tfb-quote-box pa-5 my-8\",attrs:{\"fluid\":\"\"}},[(_vm.quoteDetails && _vm.quoteDetails != null)?_c('v-row',[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-card',{class:[ _vm.quoteDetails.SelectedCoverageLevel !== 'Custom' ? 'selected-item' : '', 'fill-height' ]},[_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.setupCoverage('Default')}}},[_vm._v(\"Standard Quote\")]),_c('br'),_c('span',{staticClass:\"text-body-2\",domProps:{\"innerHTML\":_vm._s(_vm.averageMinMax)}}),_c('v-overlay',{attrs:{\"absolute\":\"\",\"value\":_vm.averageOverlay}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"#d70019\"}})],1)],1)],1),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-card',{class:[ _vm.quoteDetails.SelectedCoverageLevel === 'Custom' ? 'selected-item' : '', 'fill-height' ]},[_c('a',{attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.setupCoverage('Custom')}}},[_vm._v(\"Custom\")]),_c('br'),_c('span',{staticClass:\"text-body-2\",domProps:{\"innerHTML\":_vm._s(_vm.customMinMax)}}),_c('v-overlay',{attrs:{\"absolute\":\"\",\"value\":_vm.customOverlay}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"#d70019\"}})],1)],1)],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h5',[_vm._v(\" The 'Standard Quote' is calculated using the most common coverage limits. You may also customize your coverage by changing individual items and selecting 'Recalculate'. \")])])],1),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ passes }){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red float-right\",attrs:{\"disabled\":_vm.recalculateDisabled},on:{\"click\":function($event){return passes(_vm.onRecalculateSubmit)}}},[_vm._v(\" Recalculate \")]),_c('br'),_c('br')],1)],1),_c('required-fields-row'),(_vm.quoteDetails && _vm.quoteDetails != null)?_c('v-form',{ref:\"coverageForm\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return passes(_vm.onSubmit)}}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Bodily Injury Liability Limits\",\"items\":_vm.bodilyInjuryOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"vid\":\"biLimit\"},on:{\"change\":function($event){return _vm.onCoverageChange()}},model:{value:(_vm.quoteDetails.BodilyInjuryLimit),callback:function ($$v) {_vm.$set(_vm.quoteDetails, \"BodilyInjuryLimit\", $$v)},expression:\"quoteDetails.BodilyInjuryLimit\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required|bi_pd_coverage_difference:@biLimit\",\"label\":\"Property Damage Liability Limits\",\"items\":_vm.propertyDamageOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"vid\":\"pdLimit\"},on:{\"change\":function($event){return _vm.onCoverageChange()}},model:{value:(_vm.quoteDetails.PropertyDamageLimit),callback:function ($$v) {_vm.$set(_vm.quoteDetails, \"PropertyDamageLimit\", $$v)},expression:\"quoteDetails.PropertyDamageLimit\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"bi_umbi_coverage_difference:@biLimit\",\"label\":\"Uninsured/Underinsured Motorist Bodily Injury Limits\",\"items\":_vm.uninsuredBodilyInjuryLimitsOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"vid\":\"umbiLimit\"},on:{\"change\":function($event){return _vm.onCoverageChange()}},model:{value:(_vm.quoteDetails.UninsuredBodilyInjuryLimit),callback:function ($$v) {_vm.$set(_vm.quoteDetails, \"UninsuredBodilyInjuryLimit\", $$v)},expression:\"quoteDetails.UninsuredBodilyInjuryLimit\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"pd_umpd_coverage_difference:@pdLimit\",\"label\":\"Uninsured/Underinsured Motorist Property Damage Limits\",\"items\":_vm.uninsuredPropertyDamageLimitsOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"vid\":\"umpdLimit\"},on:{\"change\":function($event){return _vm.onCoverageChange()}},model:{value:(_vm.quoteDetails.UninsuredPropertyDamageLimit),callback:function ($$v) {_vm.$set(_vm.quoteDetails, \"UninsuredPropertyDamageLimit\", $$v)},expression:\"quoteDetails.UninsuredPropertyDamageLimit\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"label\":\"PIP/MED Coverage\",\"items\":_vm.pipMEDLimitsOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"vid\":\"pipMedLimit\"},on:{\"change\":function($event){return _vm.onCoverageChange()}},model:{value:(_vm.quoteDetails.MedicalPIPLimit),callback:function ($$v) {_vm.$set(_vm.quoteDetails, \"MedicalPIPLimit\", $$v)},expression:\"quoteDetails.MedicalPIPLimit\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"text-red\"},[_vm._v(\"Deductible — Other Than Collision\")])])],1),_vm._l((_vm.vehicleList),function(vehicle){return _c('v-row',{key:`comp${vehicle.VehicleSequenceNumber}`},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_vm._v(\" \"+_vm._s(vehicle.Description)+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('select-input',{attrs:{\"label\":\"Deductible - Other Than Collision\",\"items\":_vm.comprehensiveDeductiblesOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"vid\":`comp${vehicle.VehicleSequenceNumber}`},on:{\"change\":function($event){return _vm.onCoverageChange()}},model:{value:(vehicle.ComprehensiveDeductibleCode),callback:function ($$v) {_vm.$set(vehicle, \"ComprehensiveDeductibleCode\", $$v)},expression:\"vehicle.ComprehensiveDeductibleCode\"}})],1)],1)}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"text-red\"},[_vm._v(\"Deductible — Collision\")])])],1),_vm._l((_vm.vehicleList),function(vehicle){return _c('v-row',{key:`coll${vehicle.VehicleSequenceNumber}`},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_vm._v(\" \"+_vm._s(vehicle.Description)+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('select-input',{attrs:{\"label\":\"Deductible - Collision\",\"items\":_vm.collisionDeductiblesOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"vid\":`coll${vehicle.VehicleSequenceNumber}`},on:{\"change\":function($event){return _vm.onCoverageChange()}},model:{value:(vehicle.CollisionDeductibleCode),callback:function ($$v) {_vm.$set(vehicle, \"CollisionDeductibleCode\", $$v)},expression:\"vehicle.CollisionDeductibleCode\"}})],1)],1)}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"label\":\"Rental Car Reimbursement\",\"items\":_vm.rentalLimitsOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"vid\":\"rentalLimit\"},on:{\"change\":function($event){return _vm.onCoverageChange()}},model:{value:(_vm.quoteDetails.RentalReimbursementLimit),callback:function ($$v) {_vm.$set(_vm.quoteDetails, \"RentalReimbursementLimit\", $$v)},expression:\"quoteDetails.RentalReimbursementLimit\"}})],1)],1),(_vm.quoteDetails.RentalReimbursementLimit && _vm.quoteDetails.RentalReimbursementLimit !== '' && _vm.quoteDetails.RentalReimbursementLimit !== null)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('h4',{staticClass:\"text-red\"},[_vm._v(\"Apply Rental Car Reimbursement to:\")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('keep-alive',[_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required\",\"name\":\"vehicle rental\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid, required }){return _vm._l((_vm.vehicleList),function(vehicle){return _c('v-checkbox',{key:vehicle.VehicleSequenceNumber,staticClass:\"no-margin-check\",attrs:{\"label\":vehicle.Description,\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid,\"value\":vehicle.VehicleSequenceNumber,\"type\":\"checkbox\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.rentalArray),callback:function ($$v) {_vm.rentalArray=$$v},expression:\"rentalArray\"}})})}}],null,true)})],1)],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"label\":\"Roadside Assistance\",\"items\":_vm.roadsideLimitsOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\",\"vid\":\"roadsideLimit\"},on:{\"change\":function($event){return _vm.onCoverageChange()}},model:{value:(_vm.quoteDetails.RoadsideAssistanceLimit),callback:function ($$v) {_vm.$set(_vm.quoteDetails, \"RoadsideAssistanceLimit\", $$v)},expression:\"quoteDetails.RoadsideAssistanceLimit\"}})],1)],1),(_vm.quoteDetails.RoadsideAssistanceLimit && _vm.quoteDetails.RoadsideAssistanceLimit !== '' && _vm.quoteDetails.RoadsideAssistanceLimit !== null)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('h4',{staticClass:\"text-red\"},[_vm._v(\"Apply Roadside Assistance to:\")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('keep-alive',[_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required\",\"name\":\"Roadside Assistance\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid, required }){return _vm._l((_vm.vehicleList),function(vehicle){return _c('v-checkbox',{key:vehicle.VehicleSequenceNumber,staticClass:\"no-margin-check\",attrs:{\"label\":vehicle.Description,\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid,\"value\":vehicle.VehicleSequenceNumber,\"type\":\"checkbox\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.roadsideArray),callback:function ($$v) {_vm.roadsideArray=$$v},expression:\"roadsideArray\"}})})}}],null,true)})],1)],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red float-right\",attrs:{\"disabled\":_vm.recalculateDisabled},on:{\"click\":function($event){return passes(_vm.onRecalculateSubmit)}}},[_vm._v(\" Recalculate \")]),_c('br'),_c('br')],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"order\":\"2\",\"order-sm\":\"1\"}},[_c('v-btn',{class:[ !_vm.isMobile ? 'float-right' : '', 'tfb-button-min', 'background-red' ],on:{\"click\":_vm.onBack}},[_c('v-icon',[_vm._v(\"mdi-chevron-left\")]),_vm._v(\" Go Back \")],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"order\":\"1\",\"order-sm\":\"2\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red float-right\",attrs:{\"type\":\"submit\",\"disabled\":_vm.formDisabled}},[_vm._v(\" Continue \"),_c('v-icon',[_vm._v(\"mdi-chevron-right\")])],1)],1)],1)],2):_vm._e()]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"background-darker-blue py-12\">\r\n <h2 class=\"tfb-title-text-large text-center\">Coverages</h2>\r\n <v-container fluid\r\n class=\"tfb-smallest-container tfb-quote-box pa-5 my-8\">\r\n <v-row v-if=\"quoteDetails && quoteDetails != null\">\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n class=\"text-center\">\r\n <v-card v-bind:class=\"[ quoteDetails.SelectedCoverageLevel !== 'Custom' ? 'selected-item' : '', 'fill-height' ]\">\r\n <a href=\"\"\r\n v-on:click.prevent=\"setupCoverage('Default')\">Standard Quote</a><br />\r\n <span class=\"text-body-2\"\r\n v-html=\"averageMinMax\"></span>\r\n <v-overlay absolute\r\n :value=\"averageOverlay\">\r\n <v-progress-circular indeterminate\r\n color=\"#d70019\"></v-progress-circular>\r\n </v-overlay>\r\n </v-card>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n class=\"text-center\">\r\n <v-card v-bind:class=\"[ quoteDetails.SelectedCoverageLevel === 'Custom' ? 'selected-item' : '', 'fill-height' ]\">\r\n <a href=\"\"\r\n v-on:click.prevent=\"setupCoverage('Custom')\">Custom</a><br />\r\n <span class=\"text-body-2\"\r\n v-html=\"customMinMax\"></span>\r\n <v-overlay absolute\r\n :value=\"customOverlay\">\r\n <v-progress-circular indeterminate\r\n color=\"#d70019\"></v-progress-circular>\r\n </v-overlay>\r\n </v-card>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h5>\r\n The 'Standard Quote' is calculated using the most common coverage limits.\r\n You may also customize your coverage by changing individual items and selecting 'Recalculate'.\r\n </h5>\r\n </v-col>\r\n </v-row>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ passes }\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-btn @click=\"passes(onRecalculateSubmit)\"\r\n :disabled=\"recalculateDisabled\"\r\n class=\"tfb-button-min background-red float-right\">\r\n Recalculate\r\n </v-btn>\r\n <br /><br />\r\n </v-col>\r\n </v-row>\r\n <required-fields-row></required-fields-row>\r\n <v-form ref=\"coverageForm\"\r\n v-if=\"quoteDetails && quoteDetails != null\"\r\n @submit.stop.prevent=\"passes(onSubmit)\">\r\n <!-- Bodily Injury -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Bodily Injury Liability Limits\"\r\n :items=\"bodilyInjuryOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"quoteDetails.BodilyInjuryLimit\"\r\n @change=\"onCoverageChange()\"\r\n vid=\"biLimit\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Property Damage -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required|bi_pd_coverage_difference:@biLimit\"\r\n label=\"Property Damage Liability Limits\"\r\n :items=\"propertyDamageOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"quoteDetails.PropertyDamageLimit\"\r\n @change=\"onCoverageChange()\"\r\n vid=\"pdLimit\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Uninsured/Underinsured Motorist Bodily Injury -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"bi_umbi_coverage_difference:@biLimit\"\r\n label=\"Uninsured/Underinsured Motorist Bodily Injury Limits\"\r\n :items=\"uninsuredBodilyInjuryLimitsOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"quoteDetails.UninsuredBodilyInjuryLimit\"\r\n @change=\"onCoverageChange()\"\r\n vid=\"umbiLimit\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Uninsured/Underinsured Motorist Property Damage -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input rules=\"pd_umpd_coverage_difference:@pdLimit\"\r\n label=\"Uninsured/Underinsured Motorist Property Damage Limits\"\r\n :items=\"uninsuredPropertyDamageLimitsOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"quoteDetails.UninsuredPropertyDamageLimit\"\r\n @change=\"onCoverageChange()\"\r\n vid=\"umpdLimit\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- PIP/MED -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input label=\"PIP/MED Coverage\"\r\n :items=\"pipMEDLimitsOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"quoteDetails.MedicalPIPLimit\"\r\n @change=\"onCoverageChange()\"\r\n vid=\"pipMedLimit\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Other Than Collision Deductible -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h4 class=\"text-red\">Deductible — Other Than Collision</h4>\r\n </v-col>\r\n </v-row>\r\n <v-row v-for=\"vehicle in vehicleList\"\r\n :key=\"`comp${vehicle.VehicleSequenceNumber}`\">\r\n <v-col cols=\"12\"\r\n sm=\"6\">\r\n {{vehicle.Description}}\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"6\">\r\n <select-input label=\"Deductible - Other Than Collision\"\r\n :items=\"comprehensiveDeductiblesOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"vehicle.ComprehensiveDeductibleCode\"\r\n @change=\"onCoverageChange()\"\r\n :vid=\"`comp${vehicle.VehicleSequenceNumber}`\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Collision Deductible -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h4 class=\"text-red\">Deductible — Collision</h4>\r\n </v-col>\r\n </v-row>\r\n <v-row v-for=\"vehicle in vehicleList\"\r\n :key=\"`coll${vehicle.VehicleSequenceNumber}`\">\r\n <v-col cols=\"12\"\r\n sm=\"6\">\r\n {{vehicle.Description}}\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"6\">\r\n <select-input label=\"Deductible - Collision\"\r\n :items=\"collisionDeductiblesOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"vehicle.CollisionDeductibleCode\"\r\n @change=\"onCoverageChange()\"\r\n :vid=\"`coll${vehicle.VehicleSequenceNumber}`\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <!-- Rental Car Reimbursement -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input label=\"Rental Car Reimbursement\"\r\n :items=\"rentalLimitsOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"quoteDetails.RentalReimbursementLimit\"\r\n @change=\"onCoverageChange()\"\r\n vid=\"rentalLimit\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"quoteDetails.RentalReimbursementLimit && quoteDetails.RentalReimbursementLimit !== '' && quoteDetails.RentalReimbursementLimit !== null\">\r\n <v-col cols=\"12\"\r\n sm=\"6\">\r\n <h4 class=\"text-red\">Apply Rental Car Reimbursement to:</h4>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"6\">\r\n <keep-alive>\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required\"\r\n name=\"vehicle rental\"\r\n v-slot=\"{ errors, valid, required }\">\r\n <v-checkbox v-for=\"vehicle in vehicleList\"\r\n :key=\"vehicle.VehicleSequenceNumber\"\r\n :label=\"vehicle.Description\"\r\n hide-details=\"auto\"\r\n class=\"no-margin-check\"\r\n v-model=\"rentalArray\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n :value=\"vehicle.VehicleSequenceNumber\"\r\n type=\"checkbox\">\r\n <template v-slot:append>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-checkbox>\r\n </ValidationProvider>\r\n </keep-alive>\r\n </v-col>\r\n </v-row>\r\n <!-- Roadside Assistance -->\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <select-input label=\"Roadside Assistance\"\r\n :items=\"roadsideLimitsOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"quoteDetails.RoadsideAssistanceLimit\"\r\n @change=\"onCoverageChange()\"\r\n vid=\"roadsideLimit\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"quoteDetails.RoadsideAssistanceLimit && quoteDetails.RoadsideAssistanceLimit !== '' && quoteDetails.RoadsideAssistanceLimit !== null\">\r\n <v-col cols=\"12\"\r\n sm=\"6\">\r\n <h4 class=\"text-red\">Apply Roadside Assistance to:</h4>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"6\">\r\n <keep-alive>\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required\"\r\n name=\"Roadside Assistance\"\r\n v-slot=\"{ errors, valid, required }\">\r\n <v-checkbox v-for=\"vehicle in vehicleList\"\r\n :key=\"vehicle.VehicleSequenceNumber\"\r\n :label=\"vehicle.Description\"\r\n hide-details=\"auto\"\r\n class=\"no-margin-check\"\r\n v-model=\"roadsideArray\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n :value=\"vehicle.VehicleSequenceNumber\"\r\n type=\"checkbox\">\r\n <template v-slot:append>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-checkbox>\r\n </ValidationProvider>\r\n </keep-alive>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-btn @click=\"passes(onRecalculateSubmit)\"\r\n :disabled=\"recalculateDisabled\"\r\n class=\"tfb-button-min background-red float-right\">\r\n Recalculate\r\n </v-btn>\r\n <br /><br />\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n order=\"2\"\r\n order-sm=\"1\">\r\n <v-btn @click=\"onBack\"\r\n v-bind:class=\"[ !isMobile ? 'float-right' : '', 'tfb-button-min', 'background-red' ]\">\r\n <v-icon>mdi-chevron-left</v-icon>\r\n Go Back\r\n </v-btn>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n order=\"1\"\r\n order-sm=\"2\">\r\n <v-btn type=\"submit\"\r\n :disabled=\"formDisabled\"\r\n class=\"tfb-button-min background-red float-right\">\r\n Continue\r\n <v-icon>mdi-chevron-right</v-icon>\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-form>\r\n </ValidationObserver>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import { ValidationObserver, ValidationProvider } from 'vee-validate';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import { genericErrorMessage } from '@/mixins/errorMessages';\r\n import RequiredFieldsRow from '@/views/layout/components/RequiredFieldsRow.vue';\r\n/* eslint prefer-destructuring: 0 */\r\n/* eslint object-shorthand: 0 */\r\n/* eslint no-mixed-operators: 0 */\r\n\r\n export default {\r\n name: 'AutoQuoteCoverages',\r\n mixins: [tfbHelperMixin, tfbDataMixin, tfbMetaMixin],\r\n components: {\r\n ValidationObserver,\r\n ValidationProvider,\r\n RequiredFieldsRow,\r\n },\r\n data() {\r\n return {\r\n formDisabled: false,\r\n recalculateDisabled: true,\r\n quoteDetails: null,\r\n vehicleList: null,\r\n bodilyInjuryOptions: null,\r\n propertyDamageOptions: null,\r\n uninsuredBodilyInjuryLimitsOptions: null,\r\n uninsuredPropertyDamageLimitsOptions: null,\r\n collisionDeductiblesOptions: null,\r\n comprehensiveDeductiblesOptions: null,\r\n pipMEDLimitsOptions: null,\r\n rentalLimitsOptions: null,\r\n roadsideLimitsOptions: null,\r\n isMobile: this.$vuetify.breakpoint.smAndDown,\r\n rentalArray: [],\r\n roadsideArray: [],\r\n averageMinMax: null,\r\n customMinMax: null,\r\n averageOverlay: false,\r\n customOverlay: false,\r\n };\r\n },\r\n computed: {\r\n metaDescription() {\r\n return 'Looking for an auto insurance quote? Use our online tool to learn how Texas Farm Bureau Insurance can help provide coverage for your precious ride.';\r\n },\r\n metaPageTitle() {\r\n return 'Coverages | Auto Rate Quote';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/quotes/auto/coverages`;\r\n },\r\n agreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/agreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n subAgreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/subAgreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n quoteData() {\r\n try {\r\n return this.$store.getters['quotes/quote'];\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n },\r\n methods: {\r\n getBodilyInjuryLimits() {\r\n this.$store.dispatch('quotes/getBodilyInjuryLimits', { sEffectiveDate: this.quoteDetails.EffectiveDate, sTfbId: this.trackingId })\r\n .then((bodilyInjuryResponse) => {\r\n this.bodilyInjuryOptions = bodilyInjuryResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getPropertyDamageLimits() {\r\n this.$store.dispatch('quotes/getPropertyDamageLimits', { sEffectiveDate: this.quoteDetails.EffectiveDate, sTfbId: this.trackingId })\r\n .then((propertyDamageResponse) => {\r\n this.propertyDamageOptions = propertyDamageResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getUninsuredBodilyInjuryLimits() {\r\n this.$store.dispatch('quotes/getUninsuredBodilyInjuryLimits', { sEffectiveDate: this.quoteDetails.EffectiveDate, sTfbId: this.trackingId })\r\n .then((uninsuredBodilyInjuryLimitsResponse) => {\r\n this.uninsuredBodilyInjuryLimitsOptions = uninsuredBodilyInjuryLimitsResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getUninsuredPropertyDamageLimits() {\r\n this.$store.dispatch('quotes/getUninsuredPropertyDamageLimits', { sEffectiveDate: this.quoteDetails.EffectiveDate, sTfbId: this.trackingId })\r\n .then((uninsuredPropertyDamageLimitsResponse) => {\r\n this.uninsuredPropertyDamageLimitsOptions = uninsuredPropertyDamageLimitsResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getCollisionDeductibles() {\r\n this.$store.dispatch('quotes/getCollisionDeductibles', { sEffectiveDate: this.quoteDetails.EffectiveDate, sTfbId: this.trackingId })\r\n .then((collisionDeductiblesResponse) => {\r\n this.collisionDeductiblesOptions = collisionDeductiblesResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getComprehensiveDeductibles() {\r\n this.$store.dispatch('quotes/getComprehensiveDeductibles', { sEffectiveDate: this.quoteDetails.EffectiveDate, sTfbId: this.trackingId })\r\n .then((comprehensiveDeductiblesResponse) => {\r\n this.comprehensiveDeductiblesOptions = comprehensiveDeductiblesResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getPIPMEDLimits() {\r\n this.$store.dispatch('quotes/getPIPMEDLimits', { sEffectiveDate: this.quoteDetails.EffectiveDate, sTfbId: this.trackingId })\r\n .then((pipMEDLimitsResponse) => {\r\n this.pipMEDLimitsOptions = pipMEDLimitsResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getRentalLimits() {\r\n this.$store.dispatch('quotes/getRentalLimits', { sEffectiveDate: this.quoteDetails.EffectiveDate, sTfbId: this.trackingId })\r\n .then((rentalLimitsResponse) => {\r\n this.rentalLimitsOptions = rentalLimitsResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n getRoadsideAssistanceLimits() {\r\n this.$store.dispatch('quotes/getRoadsideAssistanceLimits', { sEffectiveDate: this.quoteDetails.EffectiveDate, sTfbId: this.trackingId })\r\n .then((roadsideLimitsResponse) => {\r\n this.roadsideLimitsOptions = roadsideLimitsResponse;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n },\r\n setupQuote() {\r\n if (this.quoteData && this.quoteData !== null) {\r\n this.quoteDetails = this.quoteData.Quote;\r\n this.vehicleList = this.quoteData.Vehicles;\r\n\r\n if (this.vehicleList && this.vehicleList.length > 0) {\r\n if (!this.vehicleList[0].Year || this.vehicleList[0].Year === '' || this.vehicleList[0].Year === null) {\r\n // No saved vehicle information, so send them back\r\n this.$router.push({ name: 'quoteVehicle' });\r\n }\r\n } else {\r\n // No saved vehicle information, so send them back\r\n this.$router.push({ name: 'quoteVehicle' });\r\n }\r\n\r\n if (this.quoteData.Operators && this.quoteData.Operators.length > 0) {\r\n if (!this.quoteData.Operators[0].DriversLicenseNumber || this.quoteData.Operators[0].DriversLicenseNumber === '' || this.quoteData.Operators[0].DriversLicenseNumber === null) {\r\n // No saved driver information, so send them back\r\n this.$router.push({ name: 'quoteDriver' });\r\n }\r\n } else {\r\n // No saved driver information, so send them back\r\n this.$router.push({ name: 'quoteDriver' });\r\n }\r\n\r\n if (this.quoteDetails && this.quoteDetails !== null && this.quoteDetails.AgreementNumber !== null && this.quoteDetails.AgreementNumber !== '') {\r\n this.getBodilyInjuryLimits();\r\n this.getPropertyDamageLimits();\r\n this.getUninsuredBodilyInjuryLimits();\r\n this.getUninsuredPropertyDamageLimits();\r\n this.getCollisionDeductibles();\r\n this.getComprehensiveDeductibles();\r\n this.getPIPMEDLimits();\r\n this.getRentalLimits();\r\n this.getRoadsideAssistanceLimits();\r\n\r\n // If custom, get values; else start with average\r\n if (!this.quoteDetails.SelectedCoverageLevel || this.quoteDetails.SelectedCoverageLevel !== 'Custom') {\r\n // Start with average coverage\r\n this.setupCoverage('Default');\r\n } else {\r\n this.setupVehicleCoverage();\r\n }\r\n\r\n // Get the various min/max amounts\r\n this.setupMinMax();\r\n } else {\r\n // No saved quote information, so go back to home\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n } else {\r\n // No saved quote information, so go back to home\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n },\r\n setupMinMax() {\r\n this.averageOverlay = true;\r\n this.averageMinMax = '-';\r\n this.customOverlay = true;\r\n this.customMinMax = 'N/A';\r\n\r\n this.$store.dispatch('quotes/getMinMaxAmount', {\r\n sAgreementNumber: this.quoteDetails.AgreementNumber,\r\n sSubAgreementNumber: this.quoteDetails.SubAgreementNumber,\r\n sCoverageLevel: 'Default',\r\n sTfbId: this.trackingId,\r\n })\r\n .then((premiumResponse) => {\r\n if (premiumResponse.MinimumAmount !== null && premiumResponse.MaximumAmount !== null) {\r\n if (premiumResponse.MinimumAmount === premiumResponse.MaximumAmount) {\r\n this.averageMinMax = `${this.formatMoney((premiumResponse.MinimumAmount / 6).toString(), 2)}<br />per month`;\r\n } else {\r\n this.averageMinMax = `${this.formatMoney((premiumResponse.MinimumAmount / 6).toString(), 2)} - ${this.formatMoney((premiumResponse.MaximumAmount / 6).toString(), 2)}\r\n<br />per month`;\r\n }\r\n } else {\r\n this.averageMinMax = 'Unable to fetch amounts';\r\n }\r\n\r\n if (premiumResponse.ErrorMessage !== null && premiumResponse.ErrorMessage !== '') {\r\n this.$store.dispatch('app/setErrorMessage', premiumResponse.ErrorMessage);\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.averageMinMax = 'Unable to fetch amounts';\r\n })\r\n .finally(() => {\r\n this.averageOverlay = false;\r\n if (this.quoteDetails.SelectedCoverageLevel === 'Custom') {\r\n this.$store.dispatch('quotes/getMinMaxAmount', {\r\n sAgreementNumber: this.quoteDetails.AgreementNumber,\r\n sSubAgreementNumber: this.quoteDetails.SubAgreementNumber,\r\n sCoverageLevel: 'Custom',\r\n sTfbId: this.trackingId,\r\n })\r\n .then((premiumResponse) => {\r\n if (premiumResponse.MinimumAmount !== null && premiumResponse.MaximumAmount !== null) {\r\n if (premiumResponse.MinimumAmount === premiumResponse.MaximumAmount) {\r\n this.customMinMax = `${this.formatMoney((premiumResponse.MinimumAmount / 6).toString(), 2)}<br />per month`;\r\n } else {\r\n this.customMinMax = `${this.formatMoney((premiumResponse.MinimumAmount / 6).toString(), 2)} -\r\n${this.formatMoney((premiumResponse.MaximumAmount / 6).toString(), 2)}<br />per month`;\r\n }\r\n } else {\r\n this.customMinMax = 'Unable to fetch amounts';\r\n }\r\n\r\n if (premiumResponse.ErrorMessage !== null && premiumResponse.ErrorMessage !== '') {\r\n this.$store.dispatch('app/setErrorMessage', premiumResponse.ErrorMessage);\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.customMinMax = 'Unable to fetch amounts';\r\n })\r\n .finally(() => {\r\n this.customOverlay = false;\r\n this.formDisabled = false;\r\n });\r\n } else {\r\n this.customMinMax = 'N/A';\r\n this.customOverlay = false;\r\n this.formDisabled = false;\r\n }\r\n });\r\n },\r\n setupCoverage(coverageLevel) {\r\n this.quoteDetails.SelectedCoverageLevel = coverageLevel;\r\n\r\n this.$store.dispatch('quotes/getLimitsByLevel', { sCoverageLevel: coverageLevel, sEffectiveDate: this.quoteDetails.EffectiveDate, sTfbId: this.trackingId })\r\n .then((limitsResponse) => {\r\n let collValue = '';\r\n let compValue = '';\r\n\r\n for (let l = 0; l < limitsResponse.length; l += 1) {\r\n const foundLimit = limitsResponse[l];\r\n\r\n switch (foundLimit.DisplayText) {\r\n case 'BI':\r\n this.quoteDetails.BodilyInjuryLimit = this.valueCheck(foundLimit.Value) ? foundLimit.Value : '';\r\n break;\r\n case 'PD':\r\n this.quoteDetails.PropertyDamageLimit = this.valueCheck(foundLimit.Value) ? foundLimit.Value : '';\r\n break;\r\n case 'UMBI':\r\n this.quoteDetails.UninsuredBodilyInjuryLimit = this.valueCheck(foundLimit.Value) ? foundLimit.Value : '';\r\n break;\r\n case 'UMPD':\r\n this.quoteDetails.UninsuredPropertyDamageLimit = this.valueCheck(foundLimit.Value) ? foundLimit.Value : '';\r\n break;\r\n case 'PIPMED':\r\n this.quoteDetails.MedicalPIPLimit = this.valueCheck(foundLimit.Value) ? foundLimit.Value : '';\r\n break;\r\n case 'Rental':\r\n this.quoteDetails.RentalReimbursementLimit = this.valueCheck(foundLimit.Value) ? foundLimit.Value : '';\r\n break;\r\n case 'Roadside':\r\n case 'Towing':\r\n this.quoteDetails.RoadsideAssistanceLimit = this.valueCheck(foundLimit.Value) ? foundLimit.Value : '';\r\n break;\r\n case 'CollDeduct':\r\n collValue = this.valueCheck(foundLimit.Value) ? foundLimit.Value : '';\r\n break;\r\n case 'OTCDeduct':\r\n compValue = this.valueCheck(foundLimit.Value) ? foundLimit.Value : '';\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n for (let v = 0; v < this.vehicleList.length; v += 1) {\r\n const foundVehicle = this.vehicleList[v];\r\n\r\n foundVehicle.CollisionDeductibleCode = collValue;\r\n foundVehicle.ComprehensiveDeductibleCode = compValue;\r\n }\r\n\r\n this.setupVehicleCoverage();\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n\r\n if (this.quoteDetails.SelectedCoverageLevel !== 'Custom') {\r\n this.customMinMax = 'N/A';\r\n this.formDisabled = false;\r\n this.recalculateDisabled = true;\r\n }\r\n },\r\n setupVehicleCoverage() {\r\n for (let v = 0; v < this.vehicleList.length; v += 1) {\r\n const foundVehicle = this.vehicleList[v];\r\n\r\n if (foundVehicle.IncludeRentalReimbursement === 'Y') {\r\n this.rentalArray.push(foundVehicle.VehicleSequenceNumber);\r\n }\r\n\r\n if (foundVehicle.IncludeRoadsideAssistance === 'Y') {\r\n this.roadsideArray.push(foundVehicle.VehicleSequenceNumber);\r\n }\r\n }\r\n\r\n // Is a rental limit set but no vehicles?\r\n if (this.quoteDetails.RentalReimbursementLimit !== null && this.quoteDetails.RentalReimbursementLimit !== ''\r\n && this.quoteDetails.RentalReimbursementLimit !== '0' && this.rentalArray.length === 0) {\r\n // Add all vehicles\r\n for (let v = 0; v < this.vehicleList.length; v += 1) {\r\n const foundVehicle = this.vehicleList[v];\r\n this.rentalArray.push(foundVehicle.VehicleSequenceNumber);\r\n }\r\n }\r\n\r\n if (this.quoteDetails.RoadsideAssistanceLimit !== null && this.quoteDetails.RoadsideAssistanceLimit !== ''\r\n && this.quoteDetails.RoadsideAssistanceLimit !== '0' && this.roadsideArray.length === 0) {\r\n // Add all vehicles\r\n for (let v = 0; v < this.vehicleList.length; v += 1) {\r\n const foundVehicle = this.vehicleList[v];\r\n this.roadsideArray.push(foundVehicle.VehicleSequenceNumber);\r\n }\r\n }\r\n },\r\n onBack() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$router.push({ name: 'quoteDriver' });\r\n },\r\n onCoverageChange() {\r\n this.quoteDetails.SelectedCoverageLevel = 'Custom';\r\n this.customMinMax = '';\r\n this.formDisabled = true;\r\n this.recalculateDisabled = false;\r\n },\r\n onRecalculateSubmit() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.customOverlay = true;\r\n this.scrollToTop();\r\n\r\n // Update the coverage information\r\n this.$store.dispatch('quotes/updateQuoteCoverages', {\r\n sQuote: this.quoteDetails,\r\n sVehicles: this.vehicleList,\r\n sRental: this.rentalArray,\r\n sRoadside: this.roadsideArray,\r\n sTfbId: this.trackingId,\r\n })\r\n .then(() => {\r\n this.$store.dispatch('quotes/getMinMaxAmount', {\r\n sAgreementNumber: this.quoteDetails.AgreementNumber,\r\n sSubAgreementNumber: this.quoteDetails.SubAgreementNumber,\r\n sCoverageLevel: 'Custom',\r\n sTfbId: this.trackingId,\r\n })\r\n .then((premiumResponse) => {\r\n if (premiumResponse.MinimumAmount !== null && premiumResponse.MaximumAmount !== null) {\r\n if (premiumResponse.MinimumAmount === premiumResponse.MaximumAmount) {\r\n this.customMinMax = `${this.formatMoney((premiumResponse.MinimumAmount / 6).toString(), 2)}<br />per month`;\r\n } else {\r\n this.customMinMax = `${this.formatMoney((premiumResponse.MinimumAmount / 6).toString(), 2)} -\r\n${this.formatMoney((premiumResponse.MaximumAmount / 6).toString(), 2)}<br />per month`;\r\n }\r\n } else {\r\n this.customMinMax = 'Unable to fetch amounts';\r\n }\r\n\r\n if (premiumResponse.ErrorMessage !== null && premiumResponse.ErrorMessage !== '') {\r\n this.$store.dispatch('app/setErrorMessage', premiumResponse.ErrorMessage);\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.customMinMax = 'Unable to fetch amounts';\r\n })\r\n .finally(() => {\r\n this.customOverlay = false;\r\n this.formDisabled = false;\r\n this.recalculateDisabled = true;\r\n });\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.customOverlay = false;\r\n this.formDisabled = false;\r\n this.recalculateDisabled = true;\r\n });\r\n },\r\n onSubmit() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/setIsLoading', true);\r\n\r\n // Update the coverage information\r\n this.$store.dispatch('quotes/updateQuoteCoverages', {\r\n sQuote: this.quoteDetails,\r\n sVehicles: this.vehicleList,\r\n sRental: this.rentalArray,\r\n sRoadside: this.roadsideArray,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((quoteReturn) => {\r\n if (quoteReturn) {\r\n this.$router.push({ name: 'quoteDisclaimer' });\r\n } else {\r\n this.$store.dispatch('app/setErrorMessage', genericErrorMessage);\r\n this.$store.dispatch('app/setIsLoading', false);\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n },\r\n mounted() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.setupQuote();\r\n this.$store.dispatch('app/setIsLoading', false);\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfb-quote-box {\r\n background-color: $white;\r\n color: $black;\r\n }\r\n\r\n .selected-item {\r\n background-color: $tfb-blue !important;\r\n color: $white !important;\r\n }\r\n\r\n .selected-item a,\r\n .selected-item a:visited {\r\n color: $white !important;\r\n text-decoration: underline !important;\r\n }\r\n\r\n .selected-item a:hover {\r\n color: $white !important;\r\n text-decoration: none !important;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Coverages.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Coverages.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Coverages.vue?vue&type=template&id=f5e2e11c\"\nimport script from \"./Coverages.vue?vue&type=script&lang=js\"\nexport * from \"./Coverages.vue?vue&type=script&lang=js\"\nimport style0 from \"./Coverages.vue?vue&type=style&index=0&id=f5e2e11c&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"background-darker-blue py-12\"},[_c('p',{staticClass:\"tfb-title-text-large text-center\"},[_vm._v(\"Disclaimer\")]),_c('v-container',{staticClass:\"tfb-smallest-container tfb-quote-box pa-5 my-8\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{staticClass:\"py-1\",attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"text-red text-center\"},[_vm._v(\"** NOTICE **\")]),_c('p',[_vm._v(\"THIS QUOTE IS NOT AN OFFER OR AGREEMENT TO PROVIDE COVERAGE. ACCEPTABILITY IS BASED ON CURRENT UNDERWRITING GUIDELINES.\")]),_c('p',[_vm._v(\"A VALID TEXAS FARM BUREAU MEMBERSHIP IS REQUIRED TO APPLY FOR AND MAINTAIN INSURANCE COVERAGE\")]),_c('p',[_vm._v(\" The premium amount is ONLY AN ESTIMATE and is based on the information you provided. The actual premium amount may change based on one or more factors including, but not limited to: \"),_c('ul',[_c('li',[_vm._v(\"Additional information provided by you\")]),_c('li',[_vm._v(\" Information from a loss report, credit report, motor vehicle records, and/or other consumer reports \"),_c('ul',[_c('li',[_vm._v(\"Note: Favorable information from these reports can result in a lower premium rate than estimated here.\")])])]),_c('li',[_vm._v(\"Underwriting guidelines\")]),_c('li',[_vm._v(\"The effective date of the policy\")]),_c('li',[_vm._v(\"Discounts for which you may be eligible\")]),_c('li',[_vm._v(\"Rate Adjustments\")]),_c('li',[_vm._v(\"Other rating guidelines\")])])]),_c('p',[_vm._v(\" You may be contacted by a local Texas Farm Bureau Insurance agent regarding this auto insurance quote. \")]),_c('p',[_vm._v(\" If you have read the above disclaimer and would like to receive your Free Rate Quote, click the \"),_c('strong',[_vm._v(\"\\\"Accept\\\"\")]),_vm._v(\" button below. Otherwise, click the \"),_c('strong',[_vm._v(\"\\\"Cancel\\\"\")]),_vm._v(\" button. \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"order\":\"2\",\"order-sm\":\"1\"}},[_c('v-btn',{class:[ !_vm.isMobile ? 'float-right' : '', 'tfb-button-min', 'background-red' ],on:{\"click\":_vm.onBack}},[_c('v-icon',[_vm._v(\"mdi-chevron-left\")]),_vm._v(\" Cancel \")],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"order\":\"1\",\"order-sm\":\"2\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red float-right\",on:{\"click\":_vm.onSubmit}},[_vm._v(\" Accept \"),_c('v-icon',[_vm._v(\"mdi-chevron-right\")])],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"background-darker-blue py-12\">\r\n <p class=\"tfb-title-text-large text-center\">Disclaimer</p>\r\n <v-container fluid\r\n class=\"tfb-smallest-container tfb-quote-box pa-5 my-8\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-1\">\r\n <h2 class=\"text-red text-center\">** NOTICE **</h2>\r\n <p>THIS QUOTE IS NOT AN OFFER OR AGREEMENT TO PROVIDE COVERAGE. ACCEPTABILITY IS BASED ON CURRENT UNDERWRITING GUIDELINES.</p>\r\n <p>A VALID TEXAS FARM BUREAU MEMBERSHIP IS REQUIRED TO APPLY FOR AND MAINTAIN INSURANCE COVERAGE</p>\r\n <p>\r\n The premium amount is ONLY AN ESTIMATE and is based on the information you provided. The actual premium amount may change\r\n based on one or more factors including, but not limited to:\r\n <ul>\r\n <li>Additional information provided by you</li>\r\n <li>\r\n Information from a loss report, credit report, motor vehicle records, and/or other consumer reports\r\n <ul>\r\n <li>Note: Favorable information from these reports can result in a lower premium rate than estimated here.</li>\r\n </ul>\r\n </li>\r\n <li>Underwriting guidelines</li>\r\n <li>The effective date of the policy</li>\r\n <li>Discounts for which you may be eligible</li>\r\n <li>Rate Adjustments</li>\r\n <li>Other rating guidelines</li>\r\n </ul>\r\n </p>\r\n <p>\r\n You may be contacted by a local Texas Farm Bureau Insurance agent regarding this auto insurance quote.\r\n </p>\r\n <p>\r\n If you have read the above disclaimer and would like to receive your Free Rate Quote, click the <strong>\"Accept\"</strong> button below.\r\n Otherwise, click the <strong>\"Cancel\"</strong> button.\r\n </p>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n order=\"2\"\r\n order-sm=\"1\">\r\n <v-btn @click=\"onBack\"\r\n v-bind:class=\"[ !isMobile ? 'float-right' : '', 'tfb-button-min', 'background-red' ]\">\r\n <v-icon>mdi-chevron-left</v-icon>\r\n Cancel\r\n </v-btn>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"6\"\r\n order=\"1\"\r\n order-sm=\"2\">\r\n <v-btn @click=\"onSubmit\"\r\n class=\"tfb-button-min background-red float-right\">\r\n Accept\r\n <v-icon>mdi-chevron-right</v-icon>\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n\r\n export default {\r\n name: 'AutoQuoteDisclaimer',\r\n mixins: [tfbHelperMixin, tfbDataMixin, tfbMetaMixin],\r\n data() {\r\n return {\r\n isMobile: this.$vuetify.breakpoint.smAndDown,\r\n };\r\n },\r\n computed: {\r\n metaDescription() {\r\n return 'Looking for an auto insurance quote? Use our online tool to learn how Texas Farm Bureau Insurance can help provide coverage for your precious ride.';\r\n },\r\n metaPageTitle() {\r\n return 'Disclaimer | Auto Rate Quote';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/quotes/disclaimer`;\r\n },\r\n },\r\n methods: {\r\n onSubmit() {\r\n this.$router.push({ name: 'quoteSummary' });\r\n },\r\n onBack() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$router.push({ name: 'quoteCoverage' });\r\n },\r\n },\r\n mounted() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/setIsLoading', false);\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .tfb-quote-box {\r\n background-color: $white;\r\n color: $black;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Disclaimer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Disclaimer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Disclaimer.vue?vue&type=template&id=7b0b5f47\"\nimport script from \"./Disclaimer.vue?vue&type=script&lang=js\"\nexport * from \"./Disclaimer.vue?vue&type=script&lang=js\"\nimport style0 from \"./Disclaimer.vue?vue&type=style&index=0&id=7b0b5f47&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"background-darker-blue py-12\"},[_c('h2',{staticClass:\"tfb-title-text-large text-center text-white\"},[_vm._v(\"Quote Summary\")]),_c('v-container',{staticClass:\"tfb-smallest-container tfb-quote-box background-white pa-5 my-8\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"tfb-title-text-smaller font-weight-bold text-blue\"},[_vm._v(\"Quote ID Number: \"+_vm._s(_vm.agreementNumber))]),_c('h4',{staticClass:\"tfb-title-text-smaller font-weight-bold text-blue\"},[_vm._v(\"Requested Effective Date: \"+_vm._s(_vm.formattedEffectiveDate))]),_c('h4',{staticClass:\"tfb-title-text-smaller font-weight-bold text-blue only-on-print\"},[_vm._v(\"Quote Date: \"+_vm._s(_vm.quoteDate))])])],1),(_vm.quoteLoading)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-skeleton-loader',{ref:\"skeleton\",staticClass:\"mx-auto\",attrs:{\"type\":\"article\"}})],1)],1):_vm._e(),(!_vm.quoteLoading && _vm.totalPremium)?_c('div',[_c('v-row',{staticClass:\"no-print\"},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red float-right\",on:{\"click\":function($event){return _vm.printQuote()}}},[_vm._v(\"Print This Quote\")])],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red float-right\",on:{\"click\":function($event){$event.stopPropagation();_vm.email = true}}},[_vm._v(\"Email This Quote\")])],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red float-right\",on:{\"click\":function($event){$event.stopPropagation();_vm.contact = true}}},[_vm._v(\"Request Contact\")])],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-alert',{staticClass:\"background-blue\",attrs:{\"prominent\":\"\",\"border\":\"bottom\",\"elevation\":\"8\",\"rounded\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"7\"}},[_c('h3',{staticClass:\"tfb-title-text-small font-weight-bold\"},[_vm._v(\"Your Six Month Premium is:\")])]),_c('v-col',{staticClass:\"final-quote-amount\",attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('h3',{staticClass:\"tfb-title-text-small font-weight-bold\"},[_vm._v(_vm._s(_vm.totalPremium))]),_c('h4',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.monthlyPremium),expression:\"monthlyPremium\"}],staticClass:\"tfb-title-text-smaller\"},[_vm._v(_vm._s(_vm.monthlyPremium)+\" per month\")])])],1)],1)],1)],1),_vm._l((_vm.vehiclePremiumList),function(vehicle){return _c('div',{key:vehicle.VehicleSequenceNumber,staticClass:\"py-4\"},[_c('v-row',[_c('v-col',{staticClass:\"tfb-title-text-smaller font-weight-bold text-blue py-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(vehicle.VehicleDescription)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"text-body-2 py-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(vehicle.VehiclePremium)+\" / \"+_vm._s(vehicle.VehicleMonthPremium)+\" per month \")])],1),_c('v-data-table',{attrs:{\"headers\":_vm.vehicleHeaders,\"items\":vehicle.VehiclePremiums,\"dense\":\"\",\"disable-filtering\":\"\",\"disable-pagination\":\"\",\"disable-sort\":\"\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item.CoverageText\",fn:function({ item }){return [_c('span',{staticClass:\"font-weight-bold text-left\"},[_vm._v(_vm._s(item.CoverageText))])]}}],null,true)})],1)}),_c('v-row',[_c('v-col',{staticClass:\"pb-0 mb-n2\",attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"tfb-title-text-smaller font-weight-bold text-blue\"},[_vm._v(\"Liability\")])])],1),_c('v-data-table',{attrs:{\"headers\":_vm.liabilityHeaders,\"items\":_vm.liabilityCoverages,\"dense\":\"\",\"disable-filtering\":\"\",\"disable-pagination\":\"\",\"disable-sort\":\"\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item.CoverageText\",fn:function({ item }){return [_c('span',{staticClass:\"font-weight-bold text-left\"},[_vm._v(_vm._s(item.CoverageText))])]}}],null,false,2166554735)}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.discounts && _vm.discounts.length > 0),expression:\"discounts && discounts.length > 0\"}],staticClass:\"pb-6 pt-4\"},[_c('v-row',[_c('v-col',{staticClass:\"pb-0\",attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"tfb-title-text-smaller font-weight-bold text-blue\"},[_vm._v(\"Discounts\")])])],1),_vm._l((_vm.discounts),function(discount){return _c('v-row',{key:discount.id},[_c('v-col',{staticClass:\"py-0 mx-4 text-body-2\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(discount)+\" \")])],1)})],2),_c('v-row',{staticClass:\"no-print\"},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red float-right\",on:{\"click\":function($event){return _vm.printQuote()}}},[_vm._v(\"Print This Quote\")])],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red float-right\",on:{\"click\":function($event){$event.stopPropagation();_vm.email = true}}},[_vm._v(\"Email This Quote\")])],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-btn',{staticClass:\"tfb-button-min background-red float-right\",on:{\"click\":function($event){$event.stopPropagation();_vm.contact = true}}},[_vm._v(\"Request Contact\")])],1)],1),_c('v-row',{staticClass:\"only-on-print\"},[_c('v-col',{staticClass:\"tfb-header-text-small\",attrs:{\"cols\":\"12\"}},[_vm._v(\" This quote summary is intended for informational purposes only. This is not a policy contract or binder of coverage. All coverages and rates are subject to normal underwriting guidelines and review. After notice to the applicant, consumer reports were obtained to help generate this quote. \")])],1)],2):_vm._e(),(!_vm.quoteLoading && !_vm.totalPremium)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" Unable to load quote information. \")])],1)],1):_vm._e(),(_vm.quoteData && _vm.quoteData.Quote)?_c('contact-agent',{attrs:{\"input-email\":_vm.quoteData.Quote.EmailAddress,\"input-phone\":_vm.quoteData.Quote.PhoneNumber}}):_vm._e(),(_vm.quoteData && _vm.quoteData.Quote)?_c('quote-email',{attrs:{\"input-email\":_vm.quoteData.Quote.EmailAddress}}):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"600px\"},model:{value:(_vm.contact),callback:function ($$v) {_vm.contact=$$v},expression:\"contact\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"background-darker-blue\"},[_c('h3',{staticClass:\"tfb-title-text-small\"},[_vm._v(\"Talk to an Agent\")])]),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ passes }){return [_c('v-form',{ref:\"contactForm\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return passes(_vm.onSubmit)}}},[_c('v-card-text',[(!_vm.requestSubmitted)?_c('v-container',{staticClass:\"py-0 tfb-component-container\"},[_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errorMessage && _vm.errorMessage !== null),expression:\"errorMessage && errorMessage !== null\"}],staticClass:\"tfb-notification\",attrs:{\"role\":\"alert\"}},[_c('v-col',{staticClass:\"tfb-notification-notice\",attrs:{\"cols\":\"12\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.errorMessage)}})])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_c('h4',{staticClass:\"tfb-title-text-smaller font-weight-bold text-blue\"},[_vm._v(\" So that we can better serve you at your convenience, please let us know below how you would like to be contacted. \")])])],1),_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":\"required\",\"name\":\"contact method\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid, required }){return [_c('v-radio-group',{staticClass:\"no-margin-radio\",attrs:{\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-asterisk\")])]},proxy:true}],null,true),model:{value:(_vm.contactType),callback:function ($$v) {_vm.contactType=$$v},expression:\"contactType\"}},_vm._l((_vm.contactOptions),function(option){return _c('v-radio',{key:option.Id,attrs:{\"label\":option.DisplayText,\"value\":option.Value}})}),1)]}}],null,true)})],1)],1),(_vm.contactType === 'EMAIL')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|email|min:3|max:250\",\"autocomplete\":\"home email\",\"minlength\":\"3\",\"maxlength\":\"250\",\"label\":\"Email Address\",\"type\":\"email\"},model:{value:(_vm.contactEmail),callback:function ($$v) {_vm.contactEmail=$$v},expression:\"contactEmail\"}})],1)],1):_vm._e(),(_vm.contactType === 'EMAIL')?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"hide-details\":\"auto\",\"type\":\"checkbox\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('span',[_vm._v(\" Send a copy to your email address? \")])]},proxy:true}],null,true),model:{value:(_vm.copyEmail),callback:function ($$v) {_vm.copyEmail=$$v},expression:\"copyEmail\"}})],1)],1):_vm._e(),(_vm.contactType === 'CALL')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('###-###-####'),expression:\"'###-###-####'\"}],attrs:{\"rules\":\"required|phone_number|min:10|max:12\",\"autocomplete\":\"home tel\",\"minlength\":\"10\",\"maxlength\":\"12\",\"label\":\"Phone Number\",\"type\":\"tel\"},model:{value:(_vm.contactPhone),callback:function ($$v) {_vm.contactPhone=$$v},expression:\"contactPhone\"}})],1)],1):_vm._e(),(_vm.contactType === 'CALL')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('select-input',{attrs:{\"rules\":\"required\",\"label\":\"Best Time to Call\",\"items\":_vm.contactTimeOptions,\"item-text\":\"DisplayText\",\"item-value\":\"Value\"},model:{value:(_vm.contactTime),callback:function ($$v) {_vm.contactTime=$$v},expression:\"contactTime\"}})],1)],1):_vm._e(),(_vm.contactType !== null)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"min:2|max:250\",\"minlength\":\"2\",\"maxlength\":\"250\",\"label\":\"Preferred Agent Name\",\"hint\":\"If you already have a preferred agent, enter the name here.\",\"autocapitalize\":\"words\"},model:{value:(_vm.requestedAgent),callback:function ($$v) {_vm.requestedAgent=$$v},expression:\"requestedAgent\"}})],1)],1):_vm._e()],1):_vm._e(),(_vm.requestSubmitted)?_c('v-container',{staticClass:\"py-0\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h3',[_vm._v(\"Thank you! We have received your request. An agent will contact you shortly.\")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" You requested: \"),(_vm.contactType === 'CALL')?_c('span',[_vm._v(\" Have an agent call me, between \"+_vm._s(_vm.contactTime)+\" (\"+_vm._s(_vm.contactPhone)+\")\"),_c('br')]):_vm._e(),(_vm.contactType === 'EMAIL')?_c('span',[_vm._v(\" Have an agent email me (\"+_vm._s(_vm.contactEmail)+\")\"),_c('br')]):_vm._e()])],1)],1):_vm._e()],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"tfb-button background-red\",on:{\"click\":_vm.onClose}},[_vm._v(\"Close\")]),(!_vm.requestSubmitted)?_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"type\":\"submit\"}},[_vm._v(\"Submit\")]):_vm._e()],1)],1)]}}])}),_c('v-overlay',{attrs:{\"absolute\":\"\",\"value\":_vm.saveOverlay}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-dialog v-model=\"contact\"\r\n persistent\r\n max-width=\"600px\">\r\n <v-card>\r\n <v-card-title class=\"background-darker-blue\">\r\n <h3 class=\"tfb-title-text-small\">Talk to an Agent</h3>\r\n </v-card-title>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ passes }\">\r\n <v-form ref=\"contactForm\"\r\n @submit.stop.prevent=\"passes(onSubmit)\">\r\n <v-card-text>\r\n <v-container v-if=\"!requestSubmitted\"\r\n class=\"py-0 tfb-component-container\">\r\n <v-row class=\"tfb-notification\"\r\n role=\"alert\"\r\n v-show=\"errorMessage && errorMessage !== null\">\r\n <v-col cols=\"12\"\r\n class=\"tfb-notification-notice\">\r\n <span v-html=\"errorMessage\"></span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <h4 class=\"tfb-title-text-smaller font-weight-bold text-blue\">\r\n So that we can better serve you at your convenience, please let us know below how you would like to be contacted.\r\n </h4>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n rules=\"required\"\r\n name=\"contact method\"\r\n v-slot=\"{ errors, valid, required }\">\r\n <v-radio-group v-model=\"contactType\"\r\n class=\"no-margin-radio\"\r\n hide-details=\"auto\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\">\r\n <v-radio v-for=\"option in contactOptions\"\r\n :key=\"option.Id\"\r\n :label=\"option.DisplayText\"\r\n v-bind:value=\"option.Value\">\r\n </v-radio>\r\n <template v-slot:append>\r\n <v-icon>mdi-asterisk</v-icon>\r\n </template>\r\n </v-radio-group>\r\n </ValidationProvider>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"contactType === 'EMAIL'\">\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|email|min:3|max:250\"\r\n autocomplete=\"home email\"\r\n minlength=\"3\"\r\n maxlength=\"250\"\r\n label=\"Email Address\"\r\n v-model=\"contactEmail\"\r\n type=\"email\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"contactType === 'EMAIL'\">\r\n <v-col cols=\"12\"\r\n class=\"py-0\">\r\n <v-checkbox v-model=\"copyEmail\"\r\n hide-details=\"auto\"\r\n type=\"checkbox\">\r\n <template v-slot:label>\r\n <span>\r\n Send a copy to your email address?\r\n </span>\r\n </template>\r\n </v-checkbox>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"contactType === 'CALL'\">\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|phone_number|min:10|max:12\"\r\n autocomplete=\"home tel\"\r\n minlength=\"10\"\r\n maxlength=\"12\"\r\n label=\"Phone Number\"\r\n v-model=\"contactPhone\"\r\n v-mask=\"'###-###-####'\"\r\n type=\"tel\"></text-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"contactType === 'CALL'\">\r\n <v-col cols=\"12\">\r\n <select-input rules=\"required\"\r\n label=\"Best Time to Call\"\r\n :items=\"contactTimeOptions\"\r\n item-text=\"DisplayText\"\r\n item-value=\"Value\"\r\n v-model=\"contactTime\"></select-input>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"contactType !== null\">\r\n <v-col cols=\"12\">\r\n <text-input rules=\"min:2|max:250\"\r\n minlength=\"2\"\r\n maxlength=\"250\"\r\n label=\"Preferred Agent Name\"\r\n hint=\"If you already have a preferred agent, enter the name here.\"\r\n v-model=\"requestedAgent\"\r\n autocapitalize=\"words\"></text-input>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <v-container v-if=\"requestSubmitted\"\r\n class=\"py-0\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h3>Thank you! We have received your request. An agent will contact you shortly.</h3>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n You requested:\r\n <span v-if=\"contactType === 'CALL'\">\r\n Have an agent call me, between {{contactTime}} ({{contactPhone}})<br />\r\n </span>\r\n <span v-if=\"contactType === 'EMAIL'\">\r\n Have an agent email me ({{contactEmail}})<br />\r\n </span>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </v-card-text>\r\n <v-card-actions>\r\n <v-spacer></v-spacer>\r\n <v-btn class=\"tfb-button background-red\"\r\n @click=\"onClose\">Close</v-btn>\r\n <v-btn v-if=\"!requestSubmitted\"\r\n class=\"tfb-button background-red\"\r\n type=\"submit\">Submit</v-btn>\r\n </v-card-actions>\r\n </v-form>\r\n </ValidationObserver>\r\n <v-overlay absolute\r\n :value=\"saveOverlay\">\r\n <v-progress-circular indeterminate\r\n size=\"64\"></v-progress-circular>\r\n </v-overlay>\r\n </v-card>\r\n </v-dialog>\r\n</template>\r\n<script>\r\n import { sync } from 'vuex-pathify';\r\n import { mask } from 'vue-the-mask';\r\n import { ValidationObserver, ValidationProvider } from 'vee-validate';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import { genericErrorMessage } from '@/mixins/errorMessages';\r\n/* eslint object-shorthand: 0 */\r\n\r\n export default {\r\n name: 'RateQuoteContact',\r\n mixins: [tfbHelperMixin],\r\n directives: { mask },\r\n components: {\r\n ValidationObserver,\r\n ValidationProvider,\r\n },\r\n props: {\r\n inputEmail: {\r\n type: String,\r\n required: true,\r\n },\r\n inputPhone: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n errorMessage: null,\r\n saveOverlay: false,\r\n requestSubmitted: false,\r\n contactOptions: [{ Id: 0, DisplayText: 'Email Me', Value: 'EMAIL' }, { Id: 1, DisplayText: 'Call Me', Value: 'CALL' }],\r\n contactTimeOptions: [\r\n { Id: 0, DisplayText: '7 am - 9 am', Value: '7a-9a' },\r\n { Id: 1, DisplayText: '9 am - 12 pm', Value: '9a-12p' },\r\n { Id: 2, DisplayText: '12 pm - 3 pm', Value: '12p-3p' },\r\n { Id: 3, DisplayText: '3 pm - 5 pm', Value: '3p-5p' },\r\n { Id: 4, DisplayText: '5 pm - 7 pm', Value: '5p-7p' },\r\n { Id: 5, DisplayText: '7 pm - 9 pm', Value: '7p-9p' },\r\n ],\r\n contactType: null,\r\n contactTime: null,\r\n contactPhone: null,\r\n contactEmail: null,\r\n copyEmail: false,\r\n requestedAgent: null,\r\n };\r\n },\r\n computed: {\r\n agreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/agreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n subAgreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/subAgreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n contact: sync('quotes/contact'),\r\n },\r\n watch: {\r\n inputEmail(val) {\r\n this.contactEmail = val;\r\n },\r\n },\r\n methods: {\r\n onSubmit() {\r\n this.saveOverlay = true;\r\n this.errorMessage = null;\r\n this.requestSubmitted = false;\r\n this.$store.dispatch('quotes/requestContact', {\r\n sAgreementNumber: this.agreementNumber,\r\n sContactMethod: this.contactTime === null ? this.contactType : this.contactTime,\r\n sEmailAddress: this.contactEmail,\r\n sPhoneNumber: this.contactPhone,\r\n sPreferredAgent: this.requestedAgent,\r\n sSendCopy: this.copyEmail,\r\n sSubAgreementNumber: this.subAgreementNumber,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((contactResponse) => {\r\n if (contactResponse.ErrorMessage && contactResponse.ErrorMessage !== null && contactResponse.ErrorMessage !== '') {\r\n this.errorMessage = contactResponse.ErrorMessage;\r\n } else {\r\n this.requestSubmitted = true;\r\n }\r\n this.saveOverlay = false;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n if (error.toString().indexOf('status code 500') >= 0) {\r\n // General server error\r\n this.errorMessage = genericErrorMessage;\r\n } else {\r\n this.errorMessage = error.toString();\r\n }\r\n this.saveOverlay = false;\r\n });\r\n },\r\n onClose() {\r\n this.contactPhone = this.inputPhone;\r\n this.contactTime = null;\r\n this.copyEmail = false;\r\n this.contactEmail = this.inputEmail;\r\n this.requestedAgent = null;\r\n this.contactType = null;\r\n this.requestSubmitted = false;\r\n this.contact = false;\r\n },\r\n },\r\n mounted() {\r\n this.contactPhone = this.inputPhone;\r\n this.contactEmail = this.inputEmail;\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactAgent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactAgent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ContactAgent.vue?vue&type=template&id=3a14e16e\"\nimport script from \"./ContactAgent.vue?vue&type=script&lang=js\"\nexport * from \"./ContactAgent.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"600px\"},model:{value:(_vm.email),callback:function ($$v) {_vm.email=$$v},expression:\"email\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"background-darker-blue\"},[_c('h3',{staticClass:\"tfb-title-text-small\"},[_vm._v(\"Email This Quote\")])]),_c('ValidationObserver',{ref:\"obv\",scopedSlots:_vm._u([{key:\"default\",fn:function({ passes }){return [_c('v-form',{ref:\"emailForm\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return passes(_vm.onSubmit)}}},[_c('v-card-text',[_c('v-container',{staticClass:\"py-0 tfb-component-container\"},[_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errorMessage && _vm.errorMessage !== null),expression:\"errorMessage && errorMessage !== null\"}],staticClass:\"tfb-notification\",attrs:{\"role\":\"alert\"}},[_c('v-col',{staticClass:\"tfb-notification-notice\",attrs:{\"cols\":\"12\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.errorMessage)}})])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('text-input',{attrs:{\"rules\":\"required|email|min:3|max:250\",\"autocomplete\":\"home email\",\"minlength\":\"3\",\"maxlength\":\"250\",\"label\":\"Email Address\",\"type\":\"email\"},model:{value:(_vm.sendQuoteEmail),callback:function ($$v) {_vm.sendQuoteEmail=$$v},expression:\"sendQuoteEmail\"}})],1)],1)],1)],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"tfb-button background-red\",on:{\"click\":_vm.onClose}},[_vm._v(\"Close\")]),_c('v-btn',{staticClass:\"tfb-button background-red\",attrs:{\"type\":\"submit\"}},[_vm._v(\"Submit\")])],1)],1)]}}])}),_c('v-overlay',{attrs:{\"absolute\":\"\",\"value\":_vm.saveOverlay}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-dialog v-model=\"email\"\r\n persistent\r\n max-width=\"600px\">\r\n <v-card>\r\n <v-card-title class=\"background-darker-blue\">\r\n <h3 class=\"tfb-title-text-small\">Email This Quote</h3>\r\n </v-card-title>\r\n <ValidationObserver ref=\"obv\" v-slot=\"{ passes }\">\r\n <v-form ref=\"emailForm\"\r\n @submit.stop.prevent=\"passes(onSubmit)\">\r\n <v-card-text>\r\n <v-container class=\"py-0 tfb-component-container\">\r\n <v-row class=\"tfb-notification\"\r\n role=\"alert\"\r\n v-show=\"errorMessage && errorMessage !== null\">\r\n <v-col cols=\"12\"\r\n class=\"tfb-notification-notice\">\r\n <span v-html=\"errorMessage\"></span>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <text-input rules=\"required|email|min:3|max:250\"\r\n autocomplete=\"home email\"\r\n minlength=\"3\"\r\n maxlength=\"250\"\r\n label=\"Email Address\"\r\n v-model=\"sendQuoteEmail\"\r\n type=\"email\"></text-input>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </v-card-text>\r\n <v-card-actions>\r\n <v-spacer></v-spacer>\r\n <v-btn class=\"tfb-button background-red\"\r\n @click=\"onClose\">Close</v-btn>\r\n <v-btn class=\"tfb-button background-red\"\r\n type=\"submit\">Submit</v-btn>\r\n </v-card-actions>\r\n </v-form>\r\n </ValidationObserver>\r\n <v-overlay absolute\r\n :value=\"saveOverlay\">\r\n <v-progress-circular indeterminate\r\n size=\"64\"></v-progress-circular>\r\n </v-overlay>\r\n </v-card>\r\n </v-dialog>\r\n</template>\r\n<script>\r\n import { sync } from 'vuex-pathify';\r\n import { ValidationObserver } from 'vee-validate';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import { genericErrorMessage } from '@/mixins/errorMessages';\r\n/* eslint object-shorthand: 0 */\r\n\r\n export default {\r\n name: 'RateQuoteEmail',\r\n mixins: [tfbHelperMixin],\r\n components: {\r\n ValidationObserver,\r\n },\r\n props: {\r\n inputEmail: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n errorMessage: null,\r\n saveOverlay: false,\r\n sendQuoteEmail: null,\r\n };\r\n },\r\n computed: {\r\n agreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/agreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n subAgreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/subAgreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n email: sync('quotes/email'),\r\n },\r\n watch: {\r\n inputEmail(val) {\r\n this.sendQuoteEmail = val;\r\n },\r\n },\r\n methods: {\r\n onSubmit() {\r\n this.saveOverlay = true;\r\n this.errorMessage = null;\r\n this.requestSubmitted = false;\r\n this.$store.dispatch('quotes/requestEmail', {\r\n sAgreementNumber: this.agreementNumber,\r\n sContactMethod: '',\r\n sEmailAddress: this.sendQuoteEmail,\r\n sPhoneNumber: '',\r\n sPreferredAgent: '',\r\n sSendCopy: '',\r\n sSubAgreementNumber: this.subAgreementNumber,\r\n sTfbId: this.trackingId,\r\n })\r\n .then((sendQuoteResponse) => {\r\n if (sendQuoteResponse.ErrorMessage && sendQuoteResponse.ErrorMessage !== null && sendQuoteResponse.ErrorMessage !== '') {\r\n this.errorMessage = sendQuoteResponse.ErrorMessage;\r\n } else {\r\n this.email = false;\r\n }\r\n this.saveOverlay = false;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n if (error.toString().indexOf('status code 500') >= 0) {\r\n // General server error\r\n this.errorMessage = genericErrorMessage;\r\n } else {\r\n this.errorMessage = error.toString();\r\n }\r\n this.saveOverlay = false;\r\n });\r\n },\r\n onClose() {\r\n this.sendQuoteEmail = this.inputEmail;\r\n this.email = false;\r\n },\r\n },\r\n mounted() {\r\n this.sendQuoteEmail = this.inputEmail;\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuoteEmail.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuoteEmail.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./QuoteEmail.vue?vue&type=template&id=dc65d83c\"\nimport script from \"./QuoteEmail.vue?vue&type=script&lang=js\"\nexport * from \"./QuoteEmail.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div class=\"background-darker-blue py-12\">\r\n <h2 class=\"tfb-title-text-large text-center text-white\">Quote Summary</h2>\r\n <v-container fluid\r\n class=\"tfb-smallest-container tfb-quote-box background-white pa-5 my-8\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <h4 class=\"tfb-title-text-smaller font-weight-bold text-blue\">Quote ID Number: {{agreementNumber}}</h4>\r\n <h4 class=\"tfb-title-text-smaller font-weight-bold text-blue\">Requested Effective Date: {{formattedEffectiveDate}}</h4>\r\n <h4 class=\"tfb-title-text-smaller font-weight-bold text-blue only-on-print\">Quote Date: {{quoteDate}}</h4>\r\n </v-col>\r\n </v-row>\r\n <v-row v-if=\"quoteLoading\">\r\n <v-col cols=\"12\">\r\n <v-skeleton-loader ref=\"skeleton\"\r\n type=\"article\"\r\n class=\"mx-auto\"></v-skeleton-loader>\r\n </v-col>\r\n </v-row>\r\n <div v-if=\"!quoteLoading && totalPremium\">\r\n <v-row class=\"no-print\">\r\n <v-col cols=\"12\"\r\n sm=\"4\">\r\n <v-btn @click=\"printQuote()\"\r\n class=\"tfb-button-min background-red float-right\">Print This Quote</v-btn>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"4\">\r\n <v-btn @click.stop=\"email = true\"\r\n class=\"tfb-button-min background-red float-right\">Email This Quote</v-btn>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"4\">\r\n <v-btn @click.stop=\"contact = true\"\r\n class=\"tfb-button-min background-red float-right\">Request Contact</v-btn>\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\">\r\n <v-alert prominent\r\n class=\"background-blue\"\r\n border=\"bottom\"\r\n elevation=\"8\"\r\n rounded>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n md=\"7\">\r\n <h3 class=\"tfb-title-text-small font-weight-bold\">Your Six Month Premium is:</h3>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n md=\"5\"\r\n class=\"final-quote-amount\">\r\n <h3 class=\"tfb-title-text-small font-weight-bold\">{{totalPremium}}</h3>\r\n <h4 class=\"tfb-title-text-smaller\" v-show=\"monthlyPremium\">{{monthlyPremium}} per month</h4>\r\n </v-col>\r\n </v-row>\r\n </v-alert>\r\n </v-col>\r\n </v-row>\r\n <div v-for=\"vehicle in vehiclePremiumList\"\r\n :key=\"vehicle.VehicleSequenceNumber\"\r\n class=\"py-4\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"tfb-title-text-smaller font-weight-bold text-blue py-0\">\r\n {{vehicle.VehicleDescription}}\r\n </v-col>\r\n </v-row>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"text-body-2 py-0\">\r\n {{vehicle.VehiclePremium}} / {{vehicle.VehicleMonthPremium}} per month\r\n </v-col>\r\n </v-row>\r\n <v-data-table :headers=\"vehicleHeaders\"\r\n :items=\"vehicle.VehiclePremiums\"\r\n dense\r\n disable-filtering\r\n disable-pagination\r\n disable-sort\r\n hide-default-footer>\r\n <template v-slot:item.CoverageText=\"{ item }\">\r\n <span class=\"font-weight-bold text-left\">{{ item.CoverageText }}</span>\r\n </template>\r\n </v-data-table>\r\n </div>\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"pb-0 mb-n2\">\r\n <h4 class=\"tfb-title-text-smaller font-weight-bold text-blue\">Liability</h4>\r\n </v-col>\r\n </v-row>\r\n <v-data-table :headers=\"liabilityHeaders\"\r\n :items=\"liabilityCoverages\"\r\n dense\r\n disable-filtering\r\n disable-pagination\r\n disable-sort\r\n hide-default-footer>\r\n <template v-slot:item.CoverageText=\"{ item }\">\r\n <span class=\"font-weight-bold text-left\">{{ item.CoverageText }}</span>\r\n </template>\r\n </v-data-table>\r\n <div v-show=\"discounts && discounts.length > 0\"\r\n class=\"pb-6 pt-4\">\r\n <v-row>\r\n <v-col cols=\"12\"\r\n class=\"pb-0\">\r\n <h4 class=\"tfb-title-text-smaller font-weight-bold text-blue\">Discounts</h4>\r\n </v-col>\r\n </v-row>\r\n <v-row v-for=\"discount in discounts\"\r\n :key=\"discount.id\">\r\n <v-col cols=\"12\"\r\n class=\"py-0 mx-4 text-body-2\">\r\n {{discount}}\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <v-row class=\"no-print\">\r\n <v-col cols=\"12\"\r\n sm=\"4\">\r\n <v-btn @click=\"printQuote()\"\r\n class=\"tfb-button-min background-red float-right\">Print This Quote</v-btn>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"4\">\r\n <v-btn @click.stop=\"email = true\"\r\n class=\"tfb-button-min background-red float-right\">Email This Quote</v-btn>\r\n </v-col>\r\n <v-col cols=\"12\"\r\n sm=\"4\">\r\n <v-btn @click.stop=\"contact = true\"\r\n class=\"tfb-button-min background-red float-right\">Request Contact</v-btn>\r\n </v-col>\r\n </v-row>\r\n <v-row class=\"only-on-print\">\r\n <v-col cols=\"12\"\r\n class=\"tfb-header-text-small\">\r\n This quote summary is intended for informational purposes only. This is not a policy\r\n contract or binder of coverage. All coverages and rates are subject to normal\r\n underwriting guidelines and review. After notice to the applicant, consumer reports\r\n were obtained to help generate this quote.\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <div v-if=\"!quoteLoading && !totalPremium\">\r\n <v-row>\r\n <v-col cols=\"12\">\r\n Unable to load quote information.\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <contact-agent v-if=\"quoteData && quoteData.Quote\"\r\n :input-email=\"quoteData.Quote.EmailAddress\"\r\n :input-phone=\"quoteData.Quote.PhoneNumber\"></contact-agent>\r\n <quote-email v-if=\"quoteData && quoteData.Quote\"\r\n :input-email=\"quoteData.Quote.EmailAddress\"></quote-email>\r\n </v-container>\r\n </div>\r\n</template>\r\n<script>\r\n import { sync } from 'vuex-pathify';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbDataMixin from '@/mixins/tfbData';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import ContactAgent from './components/ContactAgent.vue';\r\n import QuoteEmail from './components/QuoteEmail.vue';\r\n /* eslint no-nested-ternary: 0 */\r\n\r\n export default {\r\n name: 'AutoQuoteSummary',\r\n mixins: [tfbHelperMixin, tfbDataMixin, tfbMetaMixin],\r\n components: {\r\n ContactAgent,\r\n QuoteEmail,\r\n },\r\n data() {\r\n return {\r\n formDisabled: false,\r\n quoteLoading: false,\r\n quoteDetails: null,\r\n vehicleList: null,\r\n formattedEffectiveDate: null,\r\n quoteDate: null,\r\n vehiclePremiumList: [],\r\n liabilityCoverages: [],\r\n discounts: null,\r\n rentalLimit: null,\r\n roadsideLimit: null,\r\n medPIP: null,\r\n monthlyPremium: null,\r\n totalPremium: null,\r\n liabilityHeaders: [\r\n { text: '', value: 'CoverageText' },\r\n { text: 'Limitations', value: 'Limit' },\r\n ],\r\n vehicleHeaders: [\r\n { text: '', value: 'CoverageText' },\r\n { text: 'Limitations', value: 'Limit' },\r\n { text: 'Deductible', value: 'Deductible' },\r\n ],\r\n };\r\n },\r\n computed: {\r\n metaDescription() {\r\n return 'Looking for an auto insurance quote? Use our online tool to learn how Texas Farm Bureau Insurance can help provide coverage for your precious ride.';\r\n },\r\n metaPageTitle() {\r\n return 'Quote Summary | Auto Rate Quote';\r\n },\r\n metaUrl() {\r\n return `${process.env.VUE_APP_ROOT_URI}/quotes/auto/summary`;\r\n },\r\n agreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/agreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n subAgreementNumber() {\r\n try {\r\n return this.$store.getters['quotes/subAgreementNumber'];\r\n } catch (error) {\r\n return '';\r\n }\r\n },\r\n quoteData() {\r\n try {\r\n return this.$store.getters['quotes/quote'];\r\n } catch (error) {\r\n return null;\r\n }\r\n },\r\n contact: sync('quotes/contact'),\r\n email: sync('quotes/email'),\r\n },\r\n methods: {\r\n getRateQuote() {\r\n this.$store.dispatch('quotes/getRateQuote', { sAgreementNumber: this.agreementNumber, sSubAgreementNumber: this.subAgreementNumber, sTfbId: this.trackingId })\r\n .then((quoteResponse) => {\r\n const declineCoverage = 'I decline this coverage';\r\n this.vehiclePremiumList = [];\r\n this.liabilityCoverages = [];\r\n this.totalPremium = this.formatMoney(quoteResponse.TotalQuote, 2);\r\n this.monthlyPremium = this.formatMoney(quoteResponse.MonthlyAmountDue, 2);\r\n this.discounts = quoteResponse.Discounts;\r\n\r\n if (this.quoteDetails.BodilyInjuryLimit && this.quoteDetails.BodilyInjuryLimit !== '' && this.quoteDetails.BodilyInjuryLimit !== '0') {\r\n const splitBI = this.quoteDetails.BodilyInjuryLimit.split('/');\r\n const fullBiPerson = `${splitBI[0].toString()}000`;\r\n const fullBiAccident = `${splitBI[1].toString()}000`;\r\n this.liabilityCoverages.push({\r\n CoverageText: 'Bodily Injury Liability',\r\n Limit: `${this.formatMoney(fullBiPerson, 0)} each person / ${this.formatMoney(fullBiAccident, 0)} each accident`,\r\n });\r\n } else {\r\n this.liabilityCoverages.push({\r\n CoverageText: 'Bodily Injury Liability',\r\n Limit: declineCoverage,\r\n });\r\n }\r\n\r\n if (this.quoteDetails.PropertyDamageLimit && this.quoteDetails.PropertyDamageLimit !== '' && this.quoteDetails.PropertyDamageLimit !== '0') {\r\n const fullPropertyDamage = `${this.quoteDetails.PropertyDamageLimit}000`;\r\n this.liabilityCoverages.push({\r\n CoverageText: 'Property Damage Liability',\r\n Limit: `${this.formatMoney(fullPropertyDamage, 0)} each accident`,\r\n });\r\n } else {\r\n this.liabilityCoverages.push({\r\n CoverageText: 'Property Damage Liability',\r\n Limit: declineCoverage,\r\n });\r\n }\r\n\r\n if (this.quoteDetails.MedicalPIPLimit) {\r\n switch (this.quoteDetails.MedicalPIPLimit) {\r\n case '5000PIP':\r\n this.medPIP = '$5,000 PIP';\r\n break;\r\n case '2500PIP':\r\n this.medPIP = '$2,500 PIP';\r\n break;\r\n case '10000PIP':\r\n this.medPIP = '$10,000 PIP';\r\n break;\r\n case '5000MED':\r\n this.medPIP = '$5,000 MED';\r\n break;\r\n default:\r\n this.medPIP = declineCoverage;\r\n break;\r\n }\r\n } else {\r\n this.medPIP = declineCoverage;\r\n }\r\n\r\n this.liabilityCoverages.push({\r\n CoverageText: 'Personal Injury Protection or Medical',\r\n Limit: this.medPIP,\r\n });\r\n\r\n if (this.quoteDetails.UninsuredBodilyInjuryLimit && this.quoteDetails.UninsuredBodilyInjuryLimit !== '' && this.quoteDetails.UninsuredBodilyInjuryLimit !== '0') {\r\n const umSplitBI = this.quoteDetails.UninsuredBodilyInjuryLimit.split('/');\r\n const fullUmBiPerson = `${umSplitBI[0].toString()}000`;\r\n const fullUmBiAccident = `${umSplitBI[1].toString()}000`;\r\n this.liabilityCoverages.push({\r\n CoverageText: 'Uninsured/Underinsured Motorist Bodily Injury Liability',\r\n Limit: `${this.formatMoney(fullUmBiPerson, 0)} each person / ${this.formatMoney(fullUmBiAccident, 0)} each accident`,\r\n });\r\n } else {\r\n this.liabilityCoverages.push({\r\n CoverageText: 'Uninsured/Underinsured Motorist Bodily Injury Liability',\r\n Limit: declineCoverage,\r\n });\r\n }\r\n\r\n if (this.quoteDetails.UninsuredPropertyDamageLimit && this.quoteDetails.UninsuredPropertyDamageLimit !== '' && this.quoteDetails.UninsuredPropertyDamageLimit !== '0') {\r\n const fullUmPropertyDamage = `${this.quoteDetails.UninsuredPropertyDamageLimit}000`;\r\n this.liabilityCoverages.push({\r\n CoverageText: 'Uninsured/Underinsured Motorist Property Damage Liability',\r\n Limit: `${this.formatMoney(fullUmPropertyDamage, 0)} each accident`,\r\n });\r\n } else {\r\n this.liabilityCoverages.push({\r\n CoverageText: 'Uninsured/Underinsured Motorist Property Damage Liability',\r\n Limit: declineCoverage,\r\n });\r\n }\r\n\r\n if (this.quoteData.DeathIndemnity && this.quoteData.DeathIndemnity.length > 0) {\r\n this.liabilityCoverages.push({\r\n CoverageText: 'Death Indemnity',\r\n Limit: '$5,000 per designated person list',\r\n });\r\n }\r\n\r\n if (this.quoteDetails.RentalReimbursementLimit && this.quoteDetails.RentalReimbursementLimit !== '' && this.quoteDetails.RentalReimbursementLimit !== '0') {\r\n const splitRental = this.quoteDetails.RentalReimbursementLimit.split('/');\r\n this.rentalLimit = `${this.formatMoney(splitRental[0].toString(), 0)} per day, up to ${this.formatMoney(splitRental[1].toString(), 0)} per claim`;\r\n }\r\n\r\n if (this.quoteDetails.RoadsideAssistanceLimit && this.quoteDetails.RoadsideAssistanceLimit !== '' && this.quoteDetails.RoadsideAssistanceLimit !== '0') {\r\n this.roadsideLimit = `${this.formatMoney(this.quoteDetails.RoadsideAssistanceLimit, 0)} per disablement`;\r\n }\r\n\r\n for (let v = 0; v < this.vehicleList.length; v += 1) {\r\n const foundVehicle = this.vehicleList[v];\r\n\r\n for (let p = 0; p < quoteResponse.VehiclePremiums.length; p += 1) {\r\n const foundPremium = quoteResponse.VehiclePremiums[p];\r\n\r\n if (foundVehicle.VehicleSequenceNumber === foundPremium.VehicleSequenceNumber) {\r\n const vehiclePremiums = [];\r\n vehiclePremiums.push({\r\n CoverageText: 'Comprehensive Coverage',\r\n Limit: 'Actual cash value',\r\n Deductible: (foundVehicle.ComprehensiveDeductibleCode !== ''\r\n ? (foundVehicle.ComprehensiveDeductibleCode === 'FULL' ? 'No deductible' : `${this.formatMoney(foundVehicle.ComprehensiveDeductibleCode, 0)} deductible`)\r\n : declineCoverage),\r\n Premium: (foundPremium.ComprehensivePremium ? this.formatMoney(foundPremium.ComprehensivePremium.toString(), 2) : this.formatMoney('0', 2)),\r\n });\r\n vehiclePremiums.push({\r\n CoverageText: 'Collision Coverage',\r\n Limit: 'Actual cash value',\r\n Deductible: (foundVehicle.CollisionDeductibleCode !== '' ? `${this.formatMoney(foundVehicle.CollisionDeductibleCode, 0)} deductible` : declineCoverage),\r\n Premium: (foundPremium.CollisionPremium ? this.formatMoney(foundPremium.CollisionPremium.toString(), 2) : this.formatMoney('0', 2)),\r\n });\r\n vehiclePremiums.push({\r\n CoverageText: 'Rental Car Reimbursement',\r\n Limit: (foundVehicle.IncludeRentalReimbursement === 'Y' ? this.rentalLimit : declineCoverage),\r\n Deductible: '',\r\n Premium: (foundPremium.RentalPremium ? this.formatMoney(foundPremium.RentalPremium, 2) : this.formatMoney('0', 2)),\r\n });\r\n vehiclePremiums.push({\r\n CoverageText: 'Roadside Assistance',\r\n Limit: (foundVehicle.IncludeRoadsideAssistance === 'Y' ? this.roadsideLimit : declineCoverage),\r\n Deductible: '',\r\n Premium: (foundPremium.RoadsidePremium ? this.formatMoney(foundPremium.RoadsidePremium, 2) : this.formatMoney('0', 2)),\r\n });\r\n this.vehiclePremiumList.push({\r\n VehicleSequenceNumber: foundVehicle.VehicleSequenceNumber,\r\n VehicleDescription: foundVehicle.Description,\r\n VehiclePremium: this.formatMoney(foundPremium.VehicleTotalPremium.toString(), 2),\r\n VehicleMonthPremium: this.formatMoney((Number(foundPremium.VehicleTotalPremium) / 6).toString(), 2),\r\n VehiclePremiums: vehiclePremiums,\r\n });\r\n }\r\n }\r\n }\r\n\r\n this.quoteDetails.CompletedQuoteIndicator = 'Y';\r\n this.quoteLoading = false;\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('code 401') >= 0) {\r\n // Session has timed out\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.quoteLoading = false;\r\n });\r\n },\r\n printQuote() {\r\n window.print();\r\n },\r\n },\r\n async mounted() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.$store.dispatch('app/setIsLoading', true);\r\n if (this.quoteData) {\r\n this.quoteLoading = true;\r\n this.vehicleList = this.quoteData.Vehicles;\r\n this.quoteDetails = this.quoteData.Quote;\r\n this.formattedEffectiveDate = this.formatDate(this.quoteDetails.EffectiveDate);\r\n this.quoteDate = this.formatDate(new Date().toISOString());\r\n\r\n this.getRateQuote();\r\n } else {\r\n // No saved quote information, so go back to home\r\n this.$store.commit('quotes/SET_TIMEOUT', true);\r\n this.$router.push({ name: 'quoteEntry', params: { type: 'auto' } });\r\n }\r\n this.$store.dispatch('app/setIsLoading', false);\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .tfb-quote-box {\r\n background-color: $white !important;\r\n color: $black !important;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Summary.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Summary.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Summary.vue?vue&type=template&id=54c63218\"\nimport script from \"./Summary.vue?vue&type=script&lang=js\"\nexport * from \"./Summary.vue?vue&type=script&lang=js\"\nimport style0 from \"./Summary.vue?vue&type=style&index=0&id=54c63218&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\r\nimport VueRouter from 'vue-router';\r\nimport VueMeta from 'vue-meta';\r\nimport Header from '../views/layout/Header.vue';\r\nimport HeaderNotification from '../views/layout/HeaderNotification.vue';\r\nimport Footer from '../views/layout/Footer.vue';\r\nimport Content from '../views/layout/MainContent.vue';\r\nimport Services from '../views/services/ServiceInformation.vue';\r\nimport BlogMain from '../views/blog/BlogMain.vue';\r\nimport BlogPost from '../views/blog/BlogPost.vue';\r\nimport BlogListing from '../views/blog/BlogListing.vue';\r\nimport PageNotFound from '../views/content/PageNotFound.vue';\r\nimport HomeHeader from '../views/content/Home.vue';\r\nimport AboutUs from '../views/content/AboutUs.vue';\r\nimport FindASalesManager from '../views/content/FindASalesManager.vue';\r\nimport Careers from '../views/content/Careers.vue';\r\nimport Search from '../views/content/SearchResults.vue';\r\nimport ContactUs from '../views/content/ContactUs.vue';\r\nimport TermsConditions from '../views/content/TermsConditions.vue';\r\nimport JointPrivacy from '../views/content/JointPrivacy.vue';\r\nimport DMCA from '../views/content/DMCA.vue';\r\nimport RequiredNotices from '../views/content/RequiredNotices.vue';\r\nimport FindAnAgent from '../views/agents/FindAnAgent.vue';\r\nimport AgentDetails from '../views/agents/AgentDetails.vue';\r\nimport AgentListing from '../views/agents/AgentListing.vue';\r\nimport CountyDetails from '../views/agents/CountyDetails.vue';\r\nimport CountyListing from '../views/agents/CountyListing.vue';\r\nimport ClaimMain from '../views/claims/ClaimMain.vue';\r\nimport ClaimReport from '../views/claims/ClaimReport.vue';\r\nimport ClaimReportConfirm from '../views/claims/ClaimReportConfirm.vue';\r\nimport ViewClaim from '../views/claims/ViewClaim.vue';\r\nimport PaymentOptions from '../views/payments/PaymentOptions.vue';\r\nimport LoggedInPayment from '../views/payments/LoggedInPayment.vue';\r\nimport ChangeEbill from '../views/payments/ChangeEbill.vue';\r\nimport PremiumFinancePayment from '../views/payments/PremiumFinancePayment.vue';\r\nimport RecurringPayments from '../views/payments/RecurringPayments.vue';\r\nimport InvoiceCloudAutoPay from '../views/payments/InvoiceCloudAutoPay.vue';\r\nimport InvoiceCloudPaymentMethods from '../views/payments/InvoiceCloudPaymentMethods.vue';\r\nimport AccountBill from '../views/payments/ChangeAccountBill.vue';\r\nimport PolicyHolderLayout from '../views/policyholder/Layout.vue';\r\nimport Login from '../views/policyholder/Login.vue';\r\nimport Register from '../views/policyholder/Register.vue';\r\nimport AgentAccess from '../views/policyholder/AgentAccess.vue';\r\nimport ForgotPassword from '../views/policyholder/ForgotPassword.vue';\r\nimport EmailVerification from '../views/policyholder/checks/EmailVerification.vue';\r\nimport IdConversion from '../views/policyholder/checks/IdConversion.vue';\r\nimport ResetPassword from '../views/policyholder/checks/ResetPassword.vue';\r\nimport AccountSummary from '../views/policyholder/AccountSummary.vue';\r\nimport PolicyDetails from '../views/policyholder/PolicyDetails.vue';\r\nimport AccountManagement from '../views/policyholder/AccountManagement.vue';\r\nimport AccountMemberships from '../views/policyholder/management/Memberships.vue';\r\nimport EmailVerificationComplete from '../views/policyholder/management/EmailVerificationComplete.vue';\r\nimport ChangePaperless from '../views/policyholder/policy/ChangePolicyPaperless.vue';\r\nimport QuoteLayout from '../views/ratequote/QuoteLayout.vue';\r\nimport AutoQuoteEntry from '../views/ratequote/AutoQuoteEntry.vue';\r\nimport AutoQuoteAboutYou from '../views/ratequote/AboutYou.vue';\r\nimport AutoQuoteVehicles from '../views/ratequote/Vehicles.vue';\r\nimport AutoQuoteDrivers from '../views/ratequote/Drivers.vue';\r\nimport AutoQuoteCoverages from '../views/ratequote/Coverages.vue';\r\nimport AutoQuoteDisclaimer from '../views/ratequote/Disclaimer.vue';\r\nimport AutoQuoteSummary from '../views/ratequote/Summary.vue';\r\n\r\nVue.use(VueMeta, {\r\n refreshOnceOnNavigation: true,\r\n});\r\nVue.use(VueRouter);\r\n\r\nconst routes = [\r\n {\r\n path: '/payments/:policyType/:policyNumber',\r\n name: 'loggedInPayment',\r\n components: {\r\n content: LoggedInPayment,\r\n },\r\n props: { content: true },\r\n },\r\n {\r\n path: '/',\r\n components: {\r\n header: Header,\r\n notification: HeaderNotification,\r\n content: Content,\r\n footer: Footer,\r\n },\r\n children: [\r\n {\r\n path: '',\r\n name: 'home',\r\n components: {\r\n default: HomeHeader,\r\n },\r\n },\r\n {\r\n path: 'about-us',\r\n name: 'about',\r\n components: {\r\n default: AboutUs,\r\n },\r\n },\r\n {\r\n path: 'blog',\r\n name: 'blog',\r\n components: {\r\n default: BlogMain,\r\n },\r\n },\r\n {\r\n path: 'blog/listing',\r\n name: 'blogListing',\r\n components: {\r\n default: BlogListing,\r\n },\r\n },\r\n {\r\n path: 'blog/category/:category',\r\n name: 'blogFeedCategory',\r\n components: {\r\n default: BlogMain,\r\n },\r\n },\r\n {\r\n path: 'blog/category/:category/:subcategory',\r\n name: 'blogFeedSubCategory',\r\n components: {\r\n default: BlogMain,\r\n },\r\n },\r\n {\r\n path: 'blog/:category/:title',\r\n name: 'blogPost',\r\n components: {\r\n default: BlogPost,\r\n },\r\n },\r\n {\r\n path: 'blog/:category/:subcategory/:title',\r\n name: 'blogPostFull',\r\n components: {\r\n default: BlogPost,\r\n },\r\n },\r\n {\r\n path: 'claims',\r\n name: 'claims',\r\n components: {\r\n default: ClaimMain,\r\n },\r\n alias: [\r\n 'claims/file-a-claim',\r\n ],\r\n },\r\n {\r\n path: 'claims/:number/:type',\r\n name: 'claimsReport',\r\n components: {\r\n default: ClaimReport,\r\n },\r\n },\r\n {\r\n path: 'claims/confirm',\r\n name: 'claimsReportConfirm',\r\n components: {\r\n default: ClaimReportConfirm,\r\n },\r\n },\r\n {\r\n path: 'contact-us',\r\n name: 'contact',\r\n components: {\r\n default: ContactUs,\r\n },\r\n },\r\n {\r\n path: 'careers',\r\n name: 'careers',\r\n components: {\r\n default: Careers,\r\n },\r\n },\r\n {\r\n path: 'careers/find-a-sales-manager',\r\n name: 'salesManager',\r\n components: {\r\n default: FindASalesManager,\r\n },\r\n },\r\n {\r\n path: 'dmca',\r\n name: 'dmca',\r\n components: {\r\n default: DMCA,\r\n },\r\n },\r\n {\r\n path: 'privacy',\r\n name: 'privacy',\r\n components: {\r\n default: JointPrivacy,\r\n },\r\n },\r\n {\r\n path: 'terms-conditions',\r\n name: 'termsConditions',\r\n components: {\r\n default: TermsConditions,\r\n },\r\n },\r\n {\r\n path: 'required-notices',\r\n name: 'requiredNotices',\r\n components: {\r\n default: RequiredNotices,\r\n },\r\n },\r\n {\r\n path: 'search',\r\n name: 'searchResults',\r\n components: {\r\n default: Search,\r\n },\r\n },\r\n {\r\n path: 'payments/options',\r\n name: 'paymentOptions',\r\n components: {\r\n default: PaymentOptions,\r\n },\r\n alias: [\r\n 'payments',\r\n ],\r\n },\r\n {\r\n path: 'county/listing',\r\n name: 'countyListing',\r\n components: {\r\n default: CountyListing,\r\n },\r\n },\r\n {\r\n path: 'county/lookup',\r\n name: 'countyLookup',\r\n components: {\r\n default: FindAnAgent,\r\n },\r\n alias: [\r\n 'county',\r\n 'county/locate',\r\n 'county/undefined',\r\n 'agent/locate',\r\n 'agent/lookup',\r\n 'insurance/agent',\r\n ],\r\n },\r\n {\r\n path: 'county/details/:county/:branch?',\r\n components: {\r\n default: CountyDetails,\r\n },\r\n alias: [\r\n 'agent/locate/:county',\r\n 'county/locate/:county',\r\n 'county/locate/:county/:branch',\r\n ],\r\n },\r\n {\r\n path: 'insurance/agent/listing',\r\n name: 'agentListing',\r\n components: {\r\n default: AgentListing,\r\n },\r\n },\r\n {\r\n path: 'insurance/agent/:county/:name/:id(\\\\d+)',\r\n name: 'insuranceAgentFull',\r\n components: {\r\n default: AgentDetails,\r\n },\r\n alias: [\r\n 'insurance/agent/:county/:id(\\\\d+)/:name',\r\n ],\r\n },\r\n {\r\n path: 'insurance/agent/:id(\\\\d+)',\r\n name: 'insuranceAgent',\r\n components: {\r\n default: AgentDetails,\r\n },\r\n alias: [\r\n 'agent/details/:id',\r\n 'agent/registration/:id',\r\n 'agentreg/:id',\r\n ],\r\n },\r\n {\r\n path: 'insurance/agent/:name',\r\n components: {\r\n default: AgentDetails,\r\n },\r\n },\r\n {\r\n path: 'services/personal/health',\r\n name: 'insuranceHeath',\r\n components: {\r\n default: Services,\r\n },\r\n },\r\n {\r\n path: 'insurance',\r\n name: 'insuranceAlias',\r\n components: {\r\n default: Services,\r\n },\r\n alias: [\r\n 'services',\r\n ],\r\n },\r\n {\r\n path: 'insurance/:type',\r\n name: 'insurance',\r\n components: {\r\n default: Services,\r\n },\r\n alias: [\r\n 'services/:type',\r\n ],\r\n },\r\n {\r\n path: 'insurance/:parent/:type',\r\n name: 'insuranceSubType',\r\n components: {\r\n default: Services,\r\n },\r\n alias: [\r\n 'services/:parent/:type',\r\n ],\r\n },\r\n {\r\n path: 'insurance/:parent/:type/:detail',\r\n name: 'insuranceDetail',\r\n components: {\r\n default: Services,\r\n },\r\n alias: [\r\n 'services/:parent/:type/:detail',\r\n ],\r\n },\r\n {\r\n path: 'quotes/:type',\r\n components: {\r\n default: QuoteLayout,\r\n },\r\n children: [\r\n {\r\n path: '',\r\n name: 'quoteEntry',\r\n components: {\r\n default: AutoQuoteEntry,\r\n },\r\n },\r\n {\r\n path: 'about-you',\r\n name: 'quoteAboutYou',\r\n components: {\r\n default: AutoQuoteAboutYou,\r\n },\r\n },\r\n {\r\n path: 'vehicles',\r\n name: 'quoteVehicle',\r\n components: {\r\n default: AutoQuoteVehicles,\r\n },\r\n },\r\n {\r\n path: 'vehicles/:id',\r\n name: 'quoteVehicleId',\r\n components: {\r\n default: AutoQuoteVehicles,\r\n },\r\n },\r\n {\r\n path: 'drivers',\r\n name: 'quoteDriver',\r\n components: {\r\n default: AutoQuoteDrivers,\r\n },\r\n },\r\n {\r\n path: 'drivers/:id',\r\n name: 'quoteDriverId',\r\n components: {\r\n default: AutoQuoteDrivers,\r\n },\r\n },\r\n {\r\n path: 'coverage',\r\n name: 'quoteCoverage',\r\n components: {\r\n default: AutoQuoteCoverages,\r\n },\r\n },\r\n {\r\n path: 'disclaimer',\r\n name: 'quoteDisclaimer',\r\n components: {\r\n default: AutoQuoteDisclaimer,\r\n },\r\n },\r\n {\r\n path: 'summary',\r\n name: 'quoteSummary',\r\n components: {\r\n default: AutoQuoteSummary,\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: 'policyholder',\r\n components: {\r\n default: PolicyHolderLayout,\r\n },\r\n children: [\r\n {\r\n path: '',\r\n name: 'policyholderLogin',\r\n components: {\r\n default: Login,\r\n },\r\n alias: [\r\n 'login',\r\n 'account-login',\r\n ],\r\n },\r\n {\r\n path: 'agent-login',\r\n name: 'policyholderAgentAccess',\r\n components: {\r\n default: AgentAccess,\r\n },\r\n },\r\n {\r\n path: 'register',\r\n name: 'policyholderRegister',\r\n components: {\r\n default: Register,\r\n },\r\n alias: [\r\n 'registration',\r\n ],\r\n },\r\n {\r\n path: 'verify-email',\r\n name: 'policyholderEmailVerification',\r\n components: {\r\n default: EmailVerification,\r\n },\r\n },\r\n {\r\n path: 'forgot-password',\r\n name: 'policyholderForgotPassword',\r\n components: {\r\n default: ForgotPassword,\r\n },\r\n },\r\n {\r\n path: 'id-conversion',\r\n name: 'policyholderIdConversion',\r\n components: {\r\n default: IdConversion,\r\n },\r\n },\r\n {\r\n path: 'account-summary',\r\n name: 'policyholderAccountSummary',\r\n components: {\r\n default: AccountSummary,\r\n },\r\n },\r\n {\r\n path: 'policy/paperless',\r\n name: 'policyholderChangePaperless',\r\n components: {\r\n default: ChangePaperless,\r\n },\r\n },\r\n {\r\n path: 'policy/:policyType/:policyNumber',\r\n name: 'policyholderPolicyDetail',\r\n components: {\r\n default: PolicyDetails,\r\n },\r\n props: { default: true },\r\n },\r\n {\r\n path: 'claims/file',\r\n name: 'policyholderClaims',\r\n components: {\r\n default: ClaimMain,\r\n },\r\n },\r\n {\r\n path: 'claims/file/:number/:type',\r\n name: 'policyholderClaimsReport',\r\n components: {\r\n default: ClaimReport,\r\n },\r\n },\r\n {\r\n path: 'claims/view',\r\n name: 'policyholderViewClaims',\r\n components: {\r\n default: ViewClaim,\r\n },\r\n },\r\n {\r\n path: 'manage-account',\r\n name: 'policyholderAccountManagement',\r\n components: {\r\n default: AccountManagement,\r\n },\r\n },\r\n {\r\n path: 'manage-account/password-reset',\r\n name: 'policyholderResetPassword',\r\n components: {\r\n default: ResetPassword,\r\n },\r\n },\r\n {\r\n path: 'manage-account/validate-email',\r\n name: 'policyholderEmailVerificationComplete',\r\n components: {\r\n default: EmailVerificationComplete,\r\n },\r\n },\r\n {\r\n path: 'membership/:changeType',\r\n name: 'policyholderManageMemberships',\r\n components: {\r\n default: AccountMemberships,\r\n },\r\n props: { default: true },\r\n },\r\n {\r\n path: 'payments/premium-finance',\r\n name: 'policyholderPFPayment',\r\n components: {\r\n default: PremiumFinancePayment,\r\n },\r\n },\r\n {\r\n path: 'payments/account-bill/enroll',\r\n name: 'policyholderAccountBill',\r\n components: {\r\n default: AccountBill,\r\n },\r\n alias: [\r\n 'payments/account-bill',\r\n ],\r\n },\r\n {\r\n path: 'payments/ebill/confirm',\r\n name: 'policyholderChangeEbill',\r\n components: {\r\n default: ChangeEbill,\r\n },\r\n },\r\n {\r\n path: 'payments/recurring-payments/:changeType',\r\n name: 'policyholderRecurringPayments',\r\n components: {\r\n default: RecurringPayments,\r\n },\r\n props: { default: true },\r\n },\r\n {\r\n path: 'payments/auto-pay',\r\n name: 'policyholderInvoiceCloudAutoPay',\r\n components: {\r\n default: InvoiceCloudAutoPay,\r\n },\r\n props: { default: true },\r\n },\r\n {\r\n path: 'payments/stored-methods',\r\n name: 'policyholderInvoiceCloudPaymentMethods',\r\n components: {\r\n default: InvoiceCloudPaymentMethods,\r\n },\r\n props: { default: true },\r\n },\r\n ],\r\n },\r\n {\r\n path: '*',\r\n components: {\r\n default: PageNotFound,\r\n },\r\n },\r\n ],\r\n },\r\n // {\r\n // path: '/contact',\r\n // name: 'contact',\r\n // // route level code-splitting\r\n // // this generates a separate chunk (about.[hash].js) for this route\r\n // // which is lazy-loaded when the route is visited.\r\n // component: () => import(/* webpackChunkName: \"about\" */ '../views/content/AboutUs.vue'),\r\n // },\r\n];\r\n\r\nconst router = new VueRouter({\r\n mode: 'history',\r\n routes,\r\n scrollBehavior(to, from, savedPosition) {\r\n if (to.hash) {\r\n return {\r\n selector: to.hash,\r\n // , offset: { x: 0, y: 10 }\r\n };\r\n }\r\n\r\n if (savedPosition) {\r\n return savedPosition;\r\n }\r\n\r\n return { x: 0, y: 0 };\r\n },\r\n});\r\n\r\nexport default router;\r\n","import { extend, localize } from 'vee-validate';\r\nimport * as rules from 'vee-validate/dist/rules';\r\n// import { required, email, min, max, is, required_if } from 'vee-validate/dist/rules';\r\nimport en from 'vee-validate/dist/locale/en.json';\r\nimport store from '../store/index';\r\nimport helpers from './helpers';\r\n/* eslint prefer-destructuring: 0 */\r\n\r\n// Add all the available rules\r\nObject.keys(rules).forEach((rule) => {\r\n extend(rule, rules[rule]);\r\n});\r\n\r\nlocalize('en', en);\r\n\r\n// Override the default message.\r\n// extend('required', {\r\n// ...required,\r\n// message: '{_field_} is required',\r\n// });\r\n\r\n// Override the default message.\r\n// extend('max', {\r\n// ...max,\r\n// message: '{_field_} must be {length} characters or less',\r\n// });\r\n\r\n// Override the default message.\r\n// extend('email', {\r\n// ...email,\r\n// message: 'This field must be a valid email',\r\n// });\r\n\r\n// No message specified.\r\n// extend('email', email);\r\n\r\nextend('all_allowed', {\r\n // eslint-disable-next-line no-useless-escape\r\n validate: value => /^[A-Za-z0-9\\/\\\\_\\-;.,!?'&#@()* ]+$/.test(value),\r\n message: '{_field_} contains some invalid characters',\r\n});\r\n\r\nextend('all_allowed_extended', {\r\n // eslint-disable-next-line no-useless-escape\r\n validate: value => /^[A-Za-z0-9~!@#$%^&*()_\\-+= {[}\\]|/\\:;'\"<,>.?/ \\r\\n]+$/.test(value),\r\n message: '{_field_} contains some invalid characters',\r\n});\r\n\r\nextend('vin_valid', {\r\n validate: async (value) => {\r\n const vinErrors = [];\r\n const response = await store.dispatch('quotes/validateVIN', { sVIN: value, sTfbId: '' })\r\n .then((validationResponse) => {\r\n if (!validationResponse) {\r\n vinErrors.push('Unable to locate vehicle information for the entered VIN. Please validate the entered information or enter vehicle details.');\r\n }\r\n\r\n return {\r\n valid: validationResponse,\r\n errors: vinErrors,\r\n };\r\n })\r\n .catch((error) => {\r\n vinErrors.push(error.message);\r\n return {\r\n valid: false,\r\n errors: vinErrors,\r\n };\r\n });\r\n\r\n if (response && response.valid) {\r\n return true;\r\n }\r\n\r\n return {\r\n valid: false,\r\n data: {\r\n // this will be used to interpolate the message.\r\n serverMessage: response.errors[0],\r\n },\r\n };\r\n },\r\n message: 'Unable to locate vehicle information for the entered VIN. Please validate the entered information or enter vehicle details.',\r\n});\r\n\r\nextend('bi_pd_coverage_difference', {\r\n params: ['biCoverage'],\r\n validate: (value, { biCoverage }) => {\r\n const splitBI = biCoverage.split('/');\r\n return parseInt(value, 10) <= parseInt(splitBI[0], 10);\r\n },\r\n message: 'Property Damage Liability limit cannot be greater than Bodily Injury Liability limit.',\r\n});\r\n\r\nextend('bi_umbi_coverage_difference', {\r\n params: ['biCoverage'],\r\n validate: (value, { biCoverage }) => value <= biCoverage,\r\n message: 'Uninsured/Underinsured Motorist Bodily Injury limits cannot be greater than Bodily Injury Liability limits.',\r\n});\r\n\r\nextend('pd_umpd_coverage_difference', {\r\n params: ['pdCoverage'],\r\n validate: (value, { pdCoverage }) => value <= pdCoverage,\r\n message: 'Uninsured/Underinsured Motorist Property Damage limits cannot be greater than Property Damage Liability limits.',\r\n});\r\n\r\nextend('decimal', {\r\n validate: value => /^[-]?\\d*(\\.\\d+)?$/.test(value),\r\n message: '{_field_} must be in X.XX format',\r\n});\r\n\r\nextend('name', {\r\n validate: value => /^[a-zA-Z0-9-&',. ]+$/.test(value),\r\n message: '{_field_} contains some invalid characters',\r\n});\r\n\r\nextend('full_name_alpha_only', {\r\n validate: value => /^[a-zA-Z',. ]+$/.test(value),\r\n message: '{_field_} contains some invalid characters',\r\n});\r\n\r\n// Excludes certain domains from being entered\r\n// ProNovaPartners.com - Spammers of our Contact form\r\n// repoggvo.com - Spammers of our Contact form\r\n// ipayperlead.com - Spammers of our Contact form\r\n// REMOVED 07/28/2022 - ProtonMail.com/PM.me/proton.me - Per legal/security, TxFB cannot send email to or receive email from the Proton Mail service\r\n// TXFBAgent.com - TxFB user via the agent backdoor\r\nextend('valid_domain', {\r\n validate: value => !(/^.*(ProNovaPartners.com)|(TXFBAgent.com)|(repoggvo.com)|(ipayperlead.com).*$/igm.test(value)),\r\n message: 'Sorry, that email domain is not allowed by our system',\r\n});\r\n\r\nextend('phone_number', {\r\n validate: value => /^$|^\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/.test(value),\r\n message: '{_field_} is not a correctly formatted phone number (XXX-XXX-XXXX)',\r\n});\r\n\r\nextend('min_length', {\r\n params: ['length'],\r\n validate(value, { length }) {\r\n return value.length >= length;\r\n },\r\n message: 'The {_field_} must contain at least {length} item(s)',\r\n});\r\n\r\nextend('routing_number', {\r\n validate: value => /^((0[0-9])|(1[0-2])|(2[1-9])|(3[0-2])|(6[1-9])|(7[0-2])|80)([0-9]{7})$/.test(value),\r\n message: '{_field_} format is invalid',\r\n});\r\n\r\nextend('member_number', {\r\n validate: value => /^([A-Z0-9]{4}|[A-Z0-9]{6}|[A-Z0-9]{11})$/.test(value),\r\n message: '{_field_} should be alphanumeric and 4, 6, or 11 characters long',\r\n});\r\n\r\nextend('time', {\r\n validate: value => /[0-9]{1,2}:[0-9]{2} (AM|PM|am|pm)/.test(value),\r\n message: '{_field_} is not a correctly formatted time (XX:XX AM/PM)',\r\n});\r\n\r\nextend('hasNUppercaseLetters', {\r\n params: ['numberOfCharacters'],\r\n validate: (value, { numberOfCharacters }) => helpers.methods.hasNUppercaseCharacters(value, numberOfCharacters),\r\n message: '{_field_} must contain {numberOfCharacters} uppercase character(s)',\r\n});\r\n\r\nextend('hasNNumbers', {\r\n params: ['numberOfNumbers'],\r\n validate: (value, { numberOfNumbers }) => helpers.methods.hasNNumericCharacters(value, numberOfNumbers),\r\n message: '{_field_} must contain {numberOfNumbers} number(s)',\r\n});\r\n\r\nextend('hasMoreThanNConcurrentLetters', {\r\n params: ['numberOfCharacters'],\r\n validate: (value, { numberOfCharacters }) => helpers.methods.hasMoreThanNConcurrentLetters(value, numberOfCharacters),\r\n message: '{_field_} must not contain more than {numberOfCharacters} concurrent character(s)',\r\n});\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('keep-alive',[_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":_vm.rules,\"name\":_vm.name || _vm.$attrs.label,\"vid\":_vm.vid},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid, required }){return [_c('v-checkbox',_vm._g(_vm._b({attrs:{\"error-messages\":errors,\"success\":valid,\"type\":\"checkbox\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [(required)?_c('v-icon',[_vm._v(\"mdi-asterisk\")]):_vm._e()]},proxy:true}],null,true),model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}},'v-checkbox',_vm.$attrs,false),_vm.$listeners))]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <keep-alive>\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n :rules=\"rules\"\r\n :name=\"name || $attrs.label\"\r\n :vid=\"vid\"\r\n v-slot=\"{ errors, valid, required }\">\r\n <v-checkbox v-model=\"innerValue\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n type=\"checkbox\"\r\n v-bind=\"$attrs\"\r\n v-on=\"$listeners\">\r\n <template v-slot:append>\r\n <v-icon v-if=\"required\">mdi-asterisk</v-icon>\r\n </template>\r\n </v-checkbox>\r\n </ValidationProvider>\r\n </keep-alive>\r\n</template>\r\n\r\n<script>\r\nimport { ValidationProvider } from 'vee-validate';\r\n\r\n export default {\r\n name: 'CheckboxInput',\r\n components: {\r\n ValidationProvider,\r\n },\r\n props: {\r\n vid: {\r\n type: String,\r\n default: undefined,\r\n },\r\n name: {\r\n type: String,\r\n default: undefined,\r\n },\r\n rules: {\r\n type: [Object, String],\r\n default: '',\r\n },\r\n value: {\r\n type: null,\r\n },\r\n },\r\n data() {\r\n return {\r\n innerValue: '',\r\n };\r\n },\r\n watch: {\r\n // Handles internal model changes.\r\n innerValue(newVal) {\r\n this.$emit('input', newVal);\r\n },\r\n // Handles external model changes.\r\n value(newVal) {\r\n this.innerValue = newVal;\r\n },\r\n },\r\n created() {\r\n if (this.value) {\r\n this.innerValue = this.value;\r\n }\r\n },\r\n};\r\n</script>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CheckboxInput.vue?vue&type=template&id=522cf2fe\"\nimport script from \"./CheckboxInput.vue?vue&type=script&lang=js\"\nexport * from \"./CheckboxInput.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('keep-alive',[_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":_vm.rules,\"name\":_vm.name || _vm.$attrs.label,\"vid\":_vm.vid},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid, required }){return [_c('v-radio-group',_vm._g(_vm._b({staticClass:\"float-right no-margin-radio\",attrs:{\"hide-details\":\"auto\",\"row\":\"\",\"error-messages\":errors,\"success\":valid},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [(required)?_c('v-icon',[_vm._v(\"mdi-asterisk\")]):_vm._e()]},proxy:true}],null,true),model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}},'v-radio-group',_vm.$attrs,false),_vm.$listeners),_vm._l((_vm.options),function(option){return _c('v-radio',{key:option.Id,attrs:{\"label\":option.DisplayText,\"value\":option.Value}})}),1)]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <keep-alive>\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n :rules=\"rules\"\r\n :name=\"name || $attrs.label\"\r\n :vid=\"vid\"\r\n v-slot=\"{ errors, valid, required }\">\r\n <v-radio-group v-model=\"innerValue\"\r\n class=\"float-right no-margin-radio\"\r\n hide-details=\"auto\"\r\n row\r\n v-bind=\"$attrs\"\r\n v-on=\"$listeners\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\">\r\n <v-radio v-for=\"option in options\"\r\n :key=\"option.Id\"\r\n :label=\"option.DisplayText\"\r\n v-bind:value=\"option.Value\">\r\n </v-radio>\r\n <template v-slot:append>\r\n <v-icon v-if=\"required\">mdi-asterisk</v-icon>\r\n </template>\r\n </v-radio-group>\r\n </ValidationProvider>\r\n </keep-alive>\r\n</template>\r\n<script>\r\n import { ValidationProvider } from 'vee-validate';\r\n\r\n export default {\r\n name: 'RadioGroupInput',\r\n components: {\r\n ValidationProvider,\r\n },\r\n props: {\r\n vid: {\r\n type: String,\r\n default: undefined,\r\n },\r\n name: {\r\n type: String,\r\n default: undefined,\r\n },\r\n rules: {\r\n type: [Object, String],\r\n default: '',\r\n },\r\n value: {\r\n type: null,\r\n },\r\n options: {\r\n type: Array,\r\n },\r\n },\r\n data() {\r\n return {\r\n innerValue: '',\r\n };\r\n },\r\n watch: {\r\n // Handles internal model changes.\r\n innerValue(value) {\r\n this.$emit('input', value);\r\n },\r\n // Handles external model changes.\r\n value(newVal) {\r\n this.innerValue = newVal;\r\n },\r\n },\r\n created() {\r\n if (this.value) {\r\n this.innerValue = this.value;\r\n }\r\n },\r\n };\r\n</script>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RadioGroupInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RadioGroupInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RadioGroupInput.vue?vue&type=template&id=ecd2b8f4\"\nimport script from \"./RadioGroupInput.vue?vue&type=script&lang=js\"\nexport * from \"./RadioGroupInput.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('keep-alive',[_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":_vm.rules,\"name\":_vm.name || _vm.$attrs.label,\"vid\":_vm.vid},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid, required }){return [_c('v-select',_vm._g(_vm._b({attrs:{\"outlined\":\"\",\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-menu-down\")]),(required)?_c('v-icon',[_vm._v(\"mdi-asterisk\")]):_vm._e()]},proxy:true}],null,true),model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}},'v-select',_vm.$attrs,false),_vm.$listeners))]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <keep-alive>\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n :rules=\"rules\"\r\n :name=\"name || $attrs.label\"\r\n :vid=\"vid\"\r\n v-slot=\"{ errors, valid, required }\">\r\n <v-select outlined\r\n hide-details=\"auto\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n v-model=\"innerValue\"\r\n v-bind=\"$attrs\"\r\n v-on=\"$listeners\">\r\n <template v-slot:append>\r\n <v-icon>mdi-menu-down</v-icon>\r\n <v-icon v-if=\"required\">mdi-asterisk</v-icon>\r\n </template>\r\n </v-select>\r\n </ValidationProvider>\r\n </keep-alive>\r\n</template>\r\n<script>\r\n import { ValidationProvider } from 'vee-validate';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'SelectInput',\r\n mixins: [tfbHelperMixin],\r\n components: {\r\n ValidationProvider,\r\n },\r\n props: {\r\n vid: {\r\n type: String,\r\n default: undefined,\r\n },\r\n name: {\r\n type: String,\r\n default: undefined,\r\n },\r\n rules: {\r\n type: [Object, String],\r\n default: '',\r\n },\r\n value: {\r\n type: null,\r\n },\r\n },\r\n data() {\r\n return {\r\n innerValue: '',\r\n };\r\n },\r\n watch: {\r\n // Handles internal model changes.\r\n innerValue(value) {\r\n this.$emit('input', value);\r\n },\r\n // Handles external model changes.\r\n value(newVal) {\r\n this.innerValue = newVal;\r\n },\r\n },\r\n created() {\r\n if (this.value) {\r\n this.innerValue = this.value;\r\n }\r\n },\r\n };\r\n</script>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SelectInput.vue?vue&type=template&id=c018d07e\"\nimport script from \"./SelectInput.vue?vue&type=script&lang=js\"\nexport * from \"./SelectInput.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('keep-alive',[_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":_vm.rules,\"name\":_vm.name || _vm.$attrs.label,\"vid\":_vm.vid},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid, required }){return [_c('v-textarea',_vm._g(_vm._b({attrs:{\"outlined\":\"\",\"hide-details\":\"auto\",\"error-messages\":errors,\"success\":valid},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [(required)?_c('v-icon',[_vm._v(\"mdi-asterisk\")]):_vm._e()]},proxy:true}],null,true),model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}},'v-textarea',_vm.$attrs,false),_vm.$listeners))]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <keep-alive>\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n :rules=\"rules\"\r\n :name=\"name || $attrs.label\"\r\n :vid=\"vid\"\r\n v-slot=\"{ errors, valid, required }\">\r\n <v-textarea outlined\r\n hide-details=\"auto\"\r\n v-model=\"innerValue\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n v-bind=\"$attrs\"\r\n v-on=\"$listeners\">\r\n <template v-slot:append>\r\n <v-icon v-if=\"required\">mdi-asterisk</v-icon>\r\n </template>\r\n </v-textarea>\r\n </ValidationProvider>\r\n </keep-alive>\r\n</template>\r\n<script>\r\n import { ValidationProvider } from 'vee-validate';\r\n\r\n export default {\r\n name: 'TextAreaInput',\r\n components: {\r\n ValidationProvider,\r\n },\r\n props: {\r\n vid: {\r\n type: String,\r\n default: undefined,\r\n },\r\n name: {\r\n type: String,\r\n default: undefined,\r\n },\r\n rules: {\r\n type: [Object, String],\r\n default: '',\r\n },\r\n value: {\r\n type: null,\r\n },\r\n },\r\n data() {\r\n return {\r\n innerValue: '',\r\n };\r\n },\r\n watch: {\r\n // Handles internal model changes.\r\n innerValue(value) {\r\n this.$emit('input', value);\r\n // this.$emit('change', value);\r\n },\r\n // Handles external model changes.\r\n value(newVal) {\r\n this.innerValue = newVal;\r\n },\r\n },\r\n created() {\r\n if (this.value) {\r\n this.innerValue = this.value;\r\n }\r\n },\r\n };\r\n</script>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextAreaInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextAreaInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextAreaInput.vue?vue&type=template&id=ae30b360\"\nimport script from \"./TextAreaInput.vue?vue&type=script&lang=js\"\nexport * from \"./TextAreaInput.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('keep-alive',[_c('ValidationProvider',{attrs:{\"tag\":\"div\",\"bails\":false,\"rules\":_vm.rules,\"name\":_vm.name || _vm.$attrs.label,\"vid\":_vm.vid},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid, required }){return [_c('v-text-field',_vm._g(_vm._b({attrs:{\"outlined\":\"\",\"hide-details\":\"auto\",\"type\":_vm.type,\"error-messages\":errors,\"success\":valid,\"prepend-inner-icon\":_vm.prefix},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [(required)?_c('v-icon',[_vm._v(\"mdi-asterisk\")]):_vm._e()]},proxy:true}],null,true),model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}},'v-text-field',_vm.$attrs,false),_vm.$listeners))]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <keep-alive>\r\n <ValidationProvider tag=\"div\"\r\n :bails=\"false\"\r\n :rules=\"rules\"\r\n :name=\"name || $attrs.label\"\r\n :vid=\"vid\"\r\n v-slot=\"{ errors, valid, required }\">\r\n <v-text-field outlined\r\n hide-details=\"auto\"\r\n v-model=\"innerValue\"\r\n :type=\"type\"\r\n :error-messages=\"errors\"\r\n :success=\"valid\"\r\n :prepend-inner-icon=\"prefix\"\r\n v-bind=\"$attrs\"\r\n v-on=\"$listeners\">\r\n <template v-slot:append>\r\n <v-icon v-if=\"required\">mdi-asterisk</v-icon>\r\n </template>\r\n </v-text-field>\r\n </ValidationProvider>\r\n </keep-alive>\r\n</template>\r\n<script>\r\n import { ValidationProvider } from 'vee-validate';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'TextInput',\r\n mixins: [tfbHelperMixin],\r\n components: {\r\n ValidationProvider,\r\n },\r\n props: {\r\n vid: {\r\n type: String,\r\n default: undefined,\r\n },\r\n name: {\r\n type: String,\r\n default: undefined,\r\n },\r\n rules: {\r\n type: [Object, String],\r\n default: '',\r\n },\r\n prefix: {\r\n type: String,\r\n default: '',\r\n },\r\n type: {\r\n type: String,\r\n default: 'text',\r\n validator(value) {\r\n return [\r\n 'url',\r\n 'text',\r\n 'password',\r\n 'tel',\r\n 'search',\r\n 'number',\r\n 'email',\r\n ].includes(value);\r\n },\r\n },\r\n value: {\r\n type: null,\r\n },\r\n },\r\n data() {\r\n return {\r\n innerValue: '',\r\n };\r\n },\r\n watch: {\r\n // Handles internal model changes.\r\n innerValue(value) {\r\n this.$emit('input', value);\r\n // this.$emit('change', value);\r\n },\r\n // Handles external model changes.\r\n value(newVal) {\r\n this.innerValue = newVal;\r\n },\r\n },\r\n created() {\r\n if (this.value) {\r\n this.innerValue = this.value;\r\n }\r\n },\r\n };\r\n</script>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextInput.vue?vue&type=template&id=0e52d7e8\"\nimport script from \"./TextInput.vue?vue&type=script&lang=js\"\nexport * from \"./TextInput.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errorMessage && _vm.errorMessage !== ''),expression:\"errorMessage && errorMessage !== ''\"}],ref:\"website-error\",staticClass:\"tfb-notification\",attrs:{\"tabindex\":\"0\",\"id\":\"website-error\",\"role\":\"alert\"}},[_c('v-col',{staticClass:\"tfb-notification-notice\",attrs:{\"cols\":\"12\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.errorMessage)}})])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-row tabindex=\"0\"\r\n ref=\"website-error\"\r\n id=\"website-error\"\r\n class=\"tfb-notification\"\r\n role=\"alert\"\r\n v-show=\"errorMessage && errorMessage !== ''\">\r\n <v-col cols=\"12\"\r\n class=\"tfb-notification-notice\">\r\n <span v-html=\"errorMessage\"></span>\r\n </v-col>\r\n </v-row>\r\n</template>\r\n<script>\r\nexport default {\r\n name: 'ErrorMessage',\r\n computed: {\r\n errorMessage() {\r\n return this.$store.state.app.errorMessage;\r\n },\r\n },\r\n watch: {\r\n errorMessage() {\r\n this.$vuetify.goTo(0);\r\n this.$refs['website-error'].focus();\r\n },\r\n },\r\n};\r\n</script>\r\n<style lang=\"scss\">\r\n .tfb-notification {\r\n color: #e6e6e6 !important;\r\n background-color: $tfb-red !important;\r\n border-color: $tfb-darkest-red !important;\r\n vertical-align: middle;\r\n margin: 0px;\r\n padding: 0px;\r\n margin-bottom: 2px;\r\n border: 1px solid transparent;\r\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\r\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\r\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\r\n }\r\n\r\n .tfb-notification-notice {\r\n color: #e6e6e6 !important;\r\n background-color: $tfb-red !important;\r\n border-color: $tfb-darkest-red !important;\r\n padding: 5px;\r\n vertical-align: middle;\r\n margin: 0px;\r\n width: 100%;\r\n }\r\n\r\n .tfb-notification-notice a,\r\n .tfb-notification-notice a:hover,\r\n .tfb-notification-notice a:visited,\r\n .tfb-notification-notice a:active {\r\n color: #e6e6e6 !important;\r\n text-decoration: underline !important;\r\n }\r\n\r\n .tfb-notification-notice hr {\r\n border-top-color: $tfb-darkest-red;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorMessage.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorMessage.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ErrorMessage.vue?vue&type=template&id=70629609\"\nimport script from \"./ErrorMessage.vue?vue&type=script&lang=js\"\nexport * from \"./ErrorMessage.vue?vue&type=script&lang=js\"\nimport style0 from \"./ErrorMessage.vue?vue&type=style&index=0&id=70629609&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\r\nimport Vuetify from 'vuetify/lib';\r\n\r\nVue.use(Vuetify);\r\n\r\nconst opts = {\r\n theme: {\r\n disable: true,\r\n themeCache: {\r\n get: key => localStorage.getItem(key),\r\n set: (key, value) => localStorage.setItem(key, value),\r\n },\r\n },\r\n breakpoint: {\r\n mobileBreakpoint: 'sm', // This is equivalent to a value of 960\r\n },\r\n};\r\n\r\nexport default new Vuetify(opts);\r\n","import 'core-js/stable';\r\nimport 'core-js/es/object';\r\nimport 'core-js/es/array';\r\nimport 'intersection-observer';\r\nimport Vue from 'vue';\r\nimport VueCookies from 'vue-cookies';\r\nimport IdleVue from 'idle-vue';\r\nimport GmapVue from 'gmap-vue';\r\nimport App from './App.vue';\r\nimport store from './store/index';\r\nimport router from './router';\r\nimport './mixins/validations';\r\nimport CheckboxInput from './views/layout/components/CheckboxInput.vue';\r\nimport RadioGroupInput from './views/layout/components/RadioGroupInput.vue';\r\nimport SelectInput from './views/layout/components/SelectInput.vue';\r\nimport TextAreaInput from './views/layout/components/TextAreaInput.vue';\r\nimport TextInput from './views/layout/components/TextInput.vue';\r\nimport ErrorMessage from './views/layout/components/ErrorMessage.vue';\r\nimport vuetify from './plugins/vuetify';\r\nimport { apiKey } from './mixins/googleSettings';\r\nimport './styles/_wordpress.scss';\r\nimport './styles/_blog.scss';\r\nimport './styles/_overrides.scss';\r\nimport './styles/custom.scss';\r\n\r\nconst eventsHub = new Vue();\r\n\r\nVue.use(VueCookies);\r\nVue.$cookies.config('4h', '', '.txfb-ins.com', true);\r\nVue.use(IdleVue, {\r\n eventEmitter: eventsHub,\r\n store,\r\n idleTime: 1140000, // (19 * 60000)\r\n startAtIdle: false,\r\n});\r\n\r\nVue.use(GmapVue, {\r\n load: {\r\n key: apiKey,\r\n libraries: 'places',\r\n },\r\n installComponents: true,\r\n});\r\n\r\nVue.component('CheckboxInput', CheckboxInput);\r\nVue.component('RadioGroupInput', RadioGroupInput);\r\nVue.component('SelectInput', SelectInput);\r\nVue.component('TextAreaInput', TextAreaInput);\r\nVue.component('TextInput', TextInput);\r\nVue.component('ErrorMessage', ErrorMessage);\r\n\r\nVue.config.productionTip = false;\r\n\r\n// Assign a handler for uncaught errors during component render function and watchers.\r\n// The handler gets called with the error and the Vue instance.\r\n// Vue.config.errorHandler captures the errors that are specific to Vue instances.\r\n// It would not be able to capture the errors which are outside of Vue instances such as\r\n// utils files, services etc.\r\n// err: complete error trace, contains the message and error stack\r\n// vm: Vue component/instance in which error is occurred\r\n// info: Vue specific error information such as lifecycle hooks, events etc.\r\n// Vue.config.errorHandler = function (err, vm, info) {\r\n// // handle error\r\n// // `info` is a Vue-specific error info, e.g. which lifecycle hook\r\n// // the error was found in. Only available in 2.2.0+\r\n// console.log(`Error: ${err.toString()}\\nInfo: ${info}`);\r\n// };\r\n\r\n// Assign a custom handler for runtime Vue warnings. Note this only works during\r\n// development and is ignored in production.\r\n// Vue.config.warnHandler = function (msg, vm, trace) {\r\n// // `trace` is the component hierarchy trace\r\n// console.log(`Warn: ${msg}\\nTrace: ${trace}`);\r\n// };\r\n\r\n// eslint-disable-next-line no-new\r\nnew Vue({\r\n el: '#root',\r\n router,\r\n store,\r\n vuetify,\r\n render: h => h(App),\r\n}).$mount('#app');\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceCloudAutoPay.vue?vue&type=style&index=0&id=348795ce&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PolicyPaymentList.vue?vue&type=style&index=0&id=514a01cb&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogFeed.vue?vue&type=style&index=0&id=6f1d30a1&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JDPowerBanner.vue?vue&type=style&index=0&id=7a180fd3&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Careers.vue?vue&type=style&index=0&id=62513f46&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=style&index=0&id=a4909c18&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClaimsProcess.vue?vue&type=style&index=0&id=579bb9df&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceCloudTextPayment.vue?vue&type=style&index=0&id=36d6c393&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoQuoteEntry.vue?vue&type=style&index=0&id=b1327642&prod&lang=scss\"","<template>\r\n <div>\r\n <main id=\"main-loading\"\r\n role=\"main\"\r\n v-if=\"blogLoading\">\r\n <v-skeleton-loader class=\"mx-auto\"\r\n max-width=\"1024\"\r\n type=\"card\"></v-skeleton-loader>\r\n </main>\r\n <main id=\"main\"\r\n role=\"main\"\r\n v-if=\"post !== null && post.id !== 0 && !blogLoading\">\r\n <div class=\"visual-block\"\r\n :style=\"getBackgroundImage(post.headerImage)\" />\r\n <div class=\"main-holder pb-4\">\r\n <div class=\"blog-container\">\r\n <div id=\"blogContent\">\r\n <article class=\"article\">\r\n <router-link class=\"category-link\"\r\n :to=\"{ name: 'blogFeedCategory', params: { category: kebabify(post.category) } }\"\r\n hreflang=\"en-us\">\r\n {{post.category}}\r\n </router-link>\r\n <span v-if=\"post.subcategory && post.subcategory !== null && post.subcategory !== ''\"\r\n class=\"category-text\">\r\n   /  \r\n </span>\r\n <router-link v-if=\"post.subcategory && post.subcategory !== null && post.subcategory !== ''\"\r\n class=\"category-link\"\r\n :to=\"{ name: 'blogFeedSubCategory',\r\n params: { category: kebabify(post.category), subcategory: kebabify(post.subcategory) } }\"\r\n hreflang=\"en-us\">\r\n {{post.subcategory}}\r\n </router-link>\r\n <h1 class=\"title-post\">\r\n {{post.title}}\r\n </h1>\r\n <div class=\"author-box\">\r\n <strong v-if=\"post.author !== null && post.author !== ''\">\r\n By {{post.author}} |\r\n </strong>\r\n <strong v-if=\"post.illustrator && post.illustrator !== null && post.illustrator !== ''\">\r\n Illustrations By {{post.illustrator}} |\r\n </strong>\r\n <strong class=\"date\">\r\n {{post.publishDate | formatBlogDate}}\r\n </strong>\r\n <!-- Top AddThis -->\r\n <div class=\"social-top-post addthis_inline_share_toolbox\"></div>\r\n </div>\r\n <!-- Blog Post Text -->\r\n <span id=\"article-text\"\r\n class=\"article-text\"\r\n v-html=\"post.text\"></span>\r\n <!-- Bottom AddThis -->\r\n <div class=\"social-bottom-post addthis_inline_share_toolbox\"></div>\r\n <!-- Bottom Related Posts -->\r\n <sidebar :category=\"post.category\"\r\n :subcategory=\"post.subcategory\"\r\n displayLocation=\"bottom\"\r\n :currentPostId=\"post.id\"></sidebar>\r\n <!-- Pagination -->\r\n <pagination :id=\"post.id\"\r\n :date=\"post.publishDate\"></pagination>\r\n <script type=\"application/ld+json\" v-html=\"post.jsonld\">\r\n </script>\r\n </article>\r\n </div>\r\n <sidebar :category=\"post.category\"\r\n :subcategory=\"post.subcategory\"\r\n displayLocation=\"side\"\r\n :currentPostId=\"post.id\"></sidebar>\r\n </div>\r\n </div>\r\n </main>\r\n <main id=\"main-not-found\"\r\n role=\"main\"\r\n v-if=\"(post === null || post.id === 0) && !blogLoading\">\r\n <div class=\"error404 visual-block\"\r\n :style=\"getBackgroundImage('')\" />\r\n <div class=\"main-holder pb-4\">\r\n <div class=\"blog-container\">\r\n <div id=\"blogContent\">\r\n <article class=\"article\">\r\n <h1 class=\"title-post\">\r\n Post Not Found\r\n </h1>\r\n <!-- Blog Post Text -->\r\n <span id=\"article-text\">\r\n Sorry, we cannot find the post you requested.\r\n </span>\r\n <!-- Bottom Related Posts -->\r\n <sidebar :category=\"articleSection\"\r\n subcategory=\"\"\r\n displayLocation=\"bottom\"\r\n :currentPostId=\"post.id\"></sidebar>\r\n </article>\r\n </div>\r\n <sidebar :category=\"articleSection\"\r\n subcategory=\"\"\r\n displayLocation=\"side\"\r\n :currentPostId=\"post.id\"></sidebar>\r\n </div>\r\n </div>\r\n </main>\r\n </div>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n import tfbMetaMixin from '@/mixins/metaInfo';\r\n import Sidebar from './post/Sidebar.vue';\r\n import Pagination from './post/Pagination.vue';\r\n /* eslint no-nested-ternary: 0 */\r\n\r\n export default {\r\n name: 'BlogPost',\r\n mixins: [tfbHelperMixin, tfbMetaMixin],\r\n components: {\r\n Sidebar,\r\n Pagination,\r\n },\r\n data() {\r\n return {\r\n post: { id: 0 },\r\n previousPost: null,\r\n nextPost: null,\r\n blogLoading: true,\r\n publicId: 'ra-60de1cac66d15172', // 'ra-576c17231c32082d',\r\n cdn: '//s7.addthis.com/js/300/addthis_widget.js',\r\n async: true,\r\n };\r\n },\r\n computed: {\r\n metaType() {\r\n return 'article';\r\n },\r\n metaDescription() {\r\n return this.post && this.post.id !== 0\r\n ? (this.post.seodescription && this.post.seodescription !== null && this.post.seodescription !== '' ? this.post.seodescription : this.post.blurb)\r\n : 'Texas Heritage for Living';\r\n },\r\n metaPageTitle() {\r\n return this.post && this.post.seotitle && this.post.seotitle !== '' ? this.post.seotitle\r\n : (this.post && this.post.title && this.post.title !== '' ? this.post.title : 'Texas Heritage for Living');\r\n },\r\n metaUrl() {\r\n return this.post && this.post.id !== 0 ? this.post.fullUrl\r\n : `${process.env.VUE_APP_ROOT_URI}/blog/${this.$route.params.category}/${this.$route.params.title}`;\r\n },\r\n headerImage() {\r\n return this.post && this.post.id !== 0 ? this.post.headerImage : '';\r\n },\r\n articleModifiedTime() {\r\n return this.post && this.post.id !== 0 ? this.post.modifiedDate : '';\r\n },\r\n articlePublishTime() {\r\n return this.post && this.post.id !== 0 ? this.post.publishDate : '';\r\n },\r\n articleSection() {\r\n return this.post && this.post.id !== 0 ? this.post.category : this.$route.params.category;\r\n },\r\n articleTags() {\r\n return this.post && this.post.id !== 0 ? this.post.tags : [];\r\n },\r\n metaNoIndex() {\r\n return this.post && this.post.id === 0 && this.post.title === 'Post Not Found' ? 'TRUE' : '';\r\n },\r\n },\r\n methods: {\r\n getPost() {\r\n this.$store.dispatch('app/setIsLoading', true);\r\n this.blogLoading = true;\r\n this.post = null;\r\n this.$store.dispatch('blog/getPostByUrl', { sUrl: this.$route.params.title, sCategory: this.$route.params.category, sTfbId: this.trackingId })\r\n .then((postResponse) => {\r\n this.post = postResponse;\r\n this.blogLoading = false;\r\n this.$store.dispatch('app/setIsLoading', false);\r\n })\r\n .catch((error) => {\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n this.blogLoading = false;\r\n this.$store.dispatch('app/setIsLoading', false);\r\n });\r\n },\r\n },\r\n watch: {\r\n $route: 'getPost',\r\n },\r\n created() {\r\n this.$store.dispatch('app/clearErrorMessage');\r\n this.getPost();\r\n },\r\n mounted() {\r\n if (process.browser) {\r\n if (document.getElementById('addthis-share') === null) {\r\n const el = document.createElement('script');\r\n el.setAttribute('id', 'addthis-share');\r\n el.setAttribute('type', 'text/javascript');\r\n el.setAttribute('src', `${this.cdn}#pubid=${this.publicId}`);\r\n el.setAttribute('async', this.async);\r\n document.body.appendChild(el);\r\n }\r\n }\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n #main {\r\n background-color: $tfb-lightest-gray !important;\r\n }\r\n\r\n .article-text a,\r\n .article-text a:visited,\r\n .article-text a:active,\r\n .article-text a:hover\r\n .article-text p a,\r\n .article-text p a:visited,\r\n .article-text p a:active,\r\n .article-text p a:hover {\r\n text-decoration: none;\r\n -webkit-transition: color .2s;\r\n transition: color .2s;\r\n font-weight: 700 !important;\r\n }\r\n </style>\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResults.vue?vue&type=style&index=0&id=05cc890c&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PolicyHolderHeader.vue?vue&type=style&index=0&id=c2f5a506&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServicesCards.vue?vue&type=style&index=0&id=be09403a&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Video.vue?vue&type=style&index=0&id=c6a4505a&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=style&index=0&id=38bc2fcf&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Summary.vue?vue&type=style&index=0&id=54c63218&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClaimMain.vue?vue&type=style&index=0&id=22c491a0&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceInformation.vue?vue&type=style&index=0&id=25471ad7&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceCloudPaperless.vue?vue&type=style&index=0&id=38b18065&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=5f090c14&prod&lang=scss\"","import { format, parseISO } from 'date-fns';\r\nimport { isNaN, kebabCase, replace } from 'lodash';\r\n\r\nexport default {\r\n computed: {\r\n imageRootPath() {\r\n return `${process.env.VUE_APP_ROOT_URI}/publishingimages/`;\r\n },\r\n isLoggedIn() {\r\n try {\r\n return this.$store.getters['member/loggedInStatus'];\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n isMemberRole() {\r\n try {\r\n const memberRole = this.$store.getters['member/role'];\r\n if (memberRole === 'I') {\r\n return true;\r\n }\r\n return false;\r\n } catch (error) {\r\n return false;\r\n }\r\n },\r\n trackingId() {\r\n return this.$store.state.app.tfbId;\r\n },\r\n },\r\n filters: {\r\n formatBlogDate(date) {\r\n if (!date) return null;\r\n return format(parseISO(date.toString()), 'M.d.yy');\r\n },\r\n formatPhone(phone) {\r\n if (!phone || phone === null || phone === '') return null;\r\n if (phone.toString().toLowerCase().indexOf(' x') !== -1) {\r\n const cleanPhoneNumber = phone.replaceAll('-', '.').replaceAll(' x', ' Ext. ');\r\n return cleanPhoneNumber;\r\n }\r\n if (phone.toString().toLowerCase().indexOf('-') !== -1) {\r\n const cleanPhoneNumber = phone.replaceAll('-', '.');\r\n return cleanPhoneNumber;\r\n }\r\n if (phone.length === 10) {\r\n return `${phone.substr(0, 3)}.${phone.substr(3, 3)}.${phone.substr(6, 4)}`;\r\n }\r\n if (phone.length === 11) {\r\n return `${phone.substr(0, 1)}.${phone.substr(2, 3)}.${phone.substr(4, 3)}.${phone.substr(7, 4)}`;\r\n }\r\n return phone;\r\n },\r\n linkFormatPhone(phone) {\r\n if (!phone || phone === null || phone === '') return null;\r\n if (phone.toString().toLowerCase().indexOf('x') !== -1) {\r\n const strippedPhoneNumber = phone.substr(0, phone.indexOf('x'));\r\n const cleanPhoneNumber = strippedPhoneNumber.replaceAll(' ', '')\r\n .replaceAll('-', '')\r\n .replaceAll('.', '')\r\n .replaceAll('(', '')\r\n .replaceAll(')', '');\r\n return `tel:+1${cleanPhoneNumber}`;\r\n }\r\n if (phone.toString().toLowerCase().indexOf('-') !== -1) {\r\n const cleanPhoneNumber = phone.replaceAll(' ', '')\r\n .replaceAll('-', '')\r\n .replaceAll('.', '')\r\n .replaceAll('(', '')\r\n .replaceAll(')', '');\r\n return `tel:+1${cleanPhoneNumber}`;\r\n }\r\n if (phone.length === 10) {\r\n return `tel:+1${phone}`;\r\n }\r\n if (phone.length >= 11) {\r\n return `tel:+${phone}`;\r\n }\r\n return phone;\r\n },\r\n linkFormatEmail(email) {\r\n if (!email) return null;\r\n return `mailto:${email.trim().toLowerCase()}`;\r\n },\r\n },\r\n methods: {\r\n getBackgroundImage(src) {\r\n if (!src || src === '') {\r\n return { backgroundColor: '#003663' };\r\n }\r\n return { backgroundImage: `url(${src.toLowerCase()})` };\r\n },\r\n getHeaderBackgroundImage(src) {\r\n return { backgroundImage: `linear-gradient(180deg, rgba(255, 255, 255, 0) 70%, #ffffff 100%), url(${src.toLowerCase()})` };\r\n },\r\n getVideoBackgroundImage(src) {\r\n if (!src || src === '' || this.containsString(src.toLowerCase(), 'media%20player/videopreview.png')) {\r\n return { backgroundColor: '#666666' };\r\n }\r\n return {\r\n backgroundImage: `url(${src.toLowerCase()})`,\r\n backgroundPosition: 'center',\r\n backgroundSize: 'cover',\r\n height: '100%',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n justifyContent: 'center',\r\n };\r\n },\r\n kebabify(words) {\r\n return kebabCase(words);\r\n },\r\n formatTime(time) {\r\n if (!time) return null;\r\n if (time === '' || time === ' ') return null;\r\n return format(parseISO(time.toString()), 'hh:mm a');\r\n },\r\n formatDate(date) {\r\n try {\r\n if (!date) return null;\r\n if (date === '' || date === ' ') return null;\r\n if (date === '9999-12-31') return '12/31/9999';\r\n return format(parseISO(date.toString()), 'MM/dd/yyyy');\r\n } catch (e) {\r\n return '12/31/9999';\r\n }\r\n },\r\n parseDate(date) {\r\n try {\r\n if (!date) return null;\r\n if (date === '' || date === ' ') return null;\r\n return format(parseISO(date.toString()), 'yyyy-MM-dd');\r\n } catch (e) {\r\n return format(new Date().toISOString());\r\n }\r\n },\r\n formatYearDate(date) {\r\n if (!date) return null;\r\n if (date === '' || date === ' ') return null;\r\n return format(parseISO(date.toString()), 'yyyy');\r\n },\r\n formatMoney(amount, decimals) {\r\n if (!amount) return null;\r\n if (isNaN(amount)) {\r\n return amount;\r\n }\r\n if (this.containsString(amount, '%')) {\r\n return amount;\r\n }\r\n\r\n const a = amount.toString();\r\n const f = this.replaceAll(a, ',', '').replace('$', '').replace('(', '')\r\n .replace(')', '');\r\n let n = Number(f);\r\n const c = decimals;\r\n const d = '.';\r\n const t = ',';\r\n const s = n < 0 ? '-' : '';\r\n // eslint-disable-next-line prefer-template\r\n const i = parseInt(n = Math.abs(+n || 0).toFixed(c), 10) + '';\r\n const j = i.length > 3 ? i.length % 3 : 0;\r\n // eslint-disable-next-line prefer-template\r\n return s + '$' + (j ? i.substr(0, j) + t : '') + i.substr(j).replace(/(\\d{3})(?=\\d)/g, '$1' + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : '');\r\n },\r\n maskString(s, c, m) {\r\n const p = s.length - c;\r\n let v = s.substring(p);\r\n for (let i = 0; i < p; i += 1) {\r\n v = m + v;\r\n }\r\n return v;\r\n },\r\n containsString(sourceString, findString) {\r\n if (!sourceString || sourceString === null) return false;\r\n if (!findString || findString === null) return false;\r\n if (sourceString.toString().toLowerCase().indexOf(findString.toLowerCase()) !== -1) {\r\n return true;\r\n }\r\n return false;\r\n },\r\n escapeRegExp(str) {\r\n // eslint-disable-next-line no-useless-escape\r\n return str.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, '\\\\$1');\r\n },\r\n prefixPadding(inputString, totalLength, padding) {\r\n let builtString = inputString;\r\n const paddingCount = totalLength - builtString.length;\r\n for (let i = 0; i < paddingCount; i += 1) {\r\n builtString = `${padding}${builtString}`;\r\n }\r\n return builtString;\r\n },\r\n replaceAll(inputString, findString, replaceString) {\r\n return replace(inputString, new RegExp(this.escapeRegExp(findString), 'g'), replaceString);\r\n },\r\n removePhoneFormatting(str) {\r\n if (!str) return null;\r\n let tempPhone = this.replaceAll(str, '-', '');\r\n tempPhone = this.replaceAll(tempPhone, '(', '');\r\n tempPhone = this.replaceAll(tempPhone, ')', '');\r\n tempPhone = this.replaceAll(tempPhone, '.', '');\r\n tempPhone = this.replaceAll(tempPhone, '/', '');\r\n tempPhone = this.replaceAll(tempPhone, ' ', '');\r\n\r\n return tempPhone.trim();\r\n },\r\n hasNAlphaCharacters(str, numberOfCharacters) {\r\n let finalReturn = false;\r\n let currentCount = 0;\r\n\r\n for (let i = 0; i < str.length; i += 1) {\r\n if (str[i] === str[i].toLowerCase() || str[i] === str[i].toUpperCase()) {\r\n currentCount += 1;\r\n if (currentCount > (numberOfCharacters - 1)) {\r\n finalReturn = true;\r\n }\r\n }\r\n }\r\n return finalReturn;\r\n },\r\n hasNLowercaseCharacters(str, numberOfCharacters) {\r\n let finalReturn = false;\r\n let currentCount = 0;\r\n\r\n for (let i = 0; i < str.length; i += 1) {\r\n if (str[i] === str[i].toLowerCase()) {\r\n currentCount += 1;\r\n if (currentCount > (numberOfCharacters - 1)) {\r\n finalReturn = true;\r\n }\r\n }\r\n }\r\n return finalReturn;\r\n },\r\n hasNUppercaseCharacters(str, numberOfCharacters) {\r\n let finalReturn = false;\r\n let currentCount = 0;\r\n\r\n for (let i = 0; i < str.length; i += 1) {\r\n if (str[i] === str[i].toUpperCase()) {\r\n currentCount += 1;\r\n if (currentCount > (numberOfCharacters - 1)) {\r\n finalReturn = true;\r\n }\r\n }\r\n }\r\n return finalReturn;\r\n },\r\n hasNNumericCharacters(str, numberOfCharacters) {\r\n // eslint-disable-next-line no-useless-escape\r\n const reg = new RegExp(`(\\\\D*\\\\d){${numberOfCharacters},}`, 'g');\r\n const testResult = reg.test(str);\r\n return testResult;\r\n },\r\n hasMoreThanNConcurrentLetters(str, numberOfCharacters) {\r\n let finalReturn = true;\r\n let currentCount = 0;\r\n let lastLetter = '';\r\n const splitStr = str.split('');\r\n\r\n splitStr.forEach((letter) => {\r\n if (lastLetter === letter) {\r\n currentCount += 1;\r\n if (currentCount > numberOfCharacters) {\r\n finalReturn = false;\r\n }\r\n }\r\n\r\n lastLetter = letter;\r\n });\r\n return finalReturn;\r\n },\r\n buildSingleLineAddress(lineOne, lineTwo, lineThree, city, state, zipCode, zipCodeFour, zipCodeTwo) {\r\n const addressArray = [];\r\n let returnAddress = '';\r\n\r\n if (lineOne !== null && lineOne !== '') {\r\n addressArray.push(`${lineOne} `);\r\n }\r\n\r\n if (lineTwo !== null && lineTwo !== '') {\r\n addressArray.push(`${lineTwo} `);\r\n }\r\n\r\n if (lineThree !== null && lineThree !== '') {\r\n addressArray.push(`${lineThree} `);\r\n }\r\n\r\n if (city !== null && city !== '') {\r\n addressArray.push(`${city}, `);\r\n }\r\n\r\n if (state !== null && state !== '') {\r\n addressArray.push(`${state} `);\r\n }\r\n\r\n if (zipCode !== null && zipCode !== '') {\r\n addressArray.push(`${zipCode}`);\r\n }\r\n\r\n if (zipCodeFour !== null && zipCodeFour !== '') {\r\n addressArray.push(`-${zipCodeFour}`);\r\n }\r\n\r\n if (zipCodeTwo !== null && zipCodeTwo !== '') {\r\n addressArray.push(`-${zipCodeTwo}`);\r\n }\r\n\r\n for (let a = 0; a < addressArray.length; a += 1) {\r\n returnAddress += addressArray[a];\r\n }\r\n\r\n return returnAddress.trim();\r\n },\r\n buildMapAddress(lineOne, lineTwo, lineThree, city, state, zipCode, zipCodeFour, zipCodeTwo) {\r\n let mapUrl = 'https://www.google.com/maps/dir//';\r\n\r\n if (lineOne !== null && lineOne.trim() !== '') {\r\n mapUrl += this.replaceAll(lineOne.trim(), ' ', '%20');\r\n }\r\n\r\n if (lineTwo !== null && lineTwo.trim() !== '') {\r\n mapUrl += `%20${this.replaceAll(lineTwo.trim(), ' ', '%20')}`;\r\n }\r\n\r\n if (lineThree !== null && lineThree.trim() !== '') {\r\n mapUrl += `%20${this.replaceAll(lineThree.trim(), ' ', '%20')}`;\r\n }\r\n\r\n if (city !== null && city.trim() !== '') {\r\n mapUrl += `%20${this.replaceAll(city.trim(), ' ', '%20')}`;\r\n }\r\n\r\n if (state !== null && state.trim() !== '') {\r\n mapUrl += `%20${this.replaceAll(state.trim(), ' ', '%20')}`;\r\n }\r\n\r\n if (zipCode !== null && zipCode.trim() !== '') {\r\n mapUrl += `%20${this.replaceAll(zipCode.trim(), ' ', '%20')}`;\r\n }\r\n\r\n if (zipCodeFour !== null && zipCodeFour.trim() !== '') {\r\n mapUrl += this.replaceAll(zipCodeFour.trim(), ' ', '%20');\r\n }\r\n\r\n if (zipCodeTwo !== null && zipCodeTwo.trim() !== '') {\r\n mapUrl += this.replaceAll(zipCodeTwo.trim(), ' ', '%20');\r\n }\r\n\r\n return mapUrl.trim();\r\n },\r\n buildAddress(lineOne, lineTwo, lineThree, city, state, zipCode, zipCodeFour, zipCodeTwo) {\r\n const addressArray = [];\r\n let returnAddress = '';\r\n\r\n if (lineOne !== undefined && lineOne !== null && lineOne.trim() !== '') {\r\n addressArray.push(`<span itemprop=\"streetAddress\">${lineOne.trim()}</span><br />`);\r\n }\r\n\r\n if (lineTwo !== undefined && lineTwo !== null && lineTwo.trim() !== '') {\r\n addressArray.push(`${lineTwo.trim()}<br />`);\r\n }\r\n\r\n if (lineThree !== undefined && lineThree !== null && lineThree.trim() !== '') {\r\n addressArray.push(`${lineThree.trim()}<br />`);\r\n }\r\n\r\n if (city !== undefined && city !== null && city.trim() !== '') {\r\n addressArray.push(`<span itemprop=\"addressLocality\">${city.trim()}</span>, `);\r\n }\r\n\r\n if (state !== undefined && state !== null && state.trim() !== '') {\r\n addressArray.push(`<span itemprop=\"addressRegion\">${state.trim()}</span> `);\r\n }\r\n\r\n addressArray.push('<span itemprop=\"postalCode\">');\r\n if (zipCode !== undefined && zipCode !== null && zipCode.trim() !== '') {\r\n addressArray.push(`${zipCode.trim()}`);\r\n }\r\n\r\n if (zipCodeFour !== undefined && zipCodeFour !== null && zipCodeFour.trim() !== '') {\r\n addressArray.push(`-${zipCodeFour.trim()}`);\r\n }\r\n\r\n if (zipCodeTwo !== undefined && zipCodeTwo !== null && zipCodeTwo.trim() !== '') {\r\n addressArray.push(`-${zipCodeTwo.trim()}`);\r\n }\r\n addressArray.push('</span><br />');\r\n\r\n for (let a = 0; a < addressArray.length; a += 1) {\r\n returnAddress += addressArray[a];\r\n }\r\n\r\n return returnAddress.trim();\r\n },\r\n buildAgentInfoBox(title, lineOne, lineTwo, city, state, zipCode) {\r\n const infoBoxArray = [];\r\n let returnInfoBox = '';\r\n\r\n infoBoxArray.push(`<div id=\"content\"><div id=\"bodyContent\"><p class=\"font-weight-bold\">${title}</p><p>`);\r\n\r\n if (lineOne !== null && lineOne.trim() !== '') {\r\n infoBoxArray.push(`<span itemprop=\"streetAddress\">${lineOne.trim()}</span><br />`);\r\n }\r\n\r\n if (lineTwo !== null && lineTwo.trim() !== '') {\r\n infoBoxArray.push(`${lineTwo.trim()}<br />`);\r\n }\r\n\r\n if (city !== null && city.trim() !== '') {\r\n infoBoxArray.push(`<span itemprop=\"addressLocality\">${city.trim()}</span>, `);\r\n }\r\n\r\n if (state !== null && state.trim() !== '') {\r\n infoBoxArray.push(`<span itemprop=\"addressRegion\">${state.trim()}</span> `);\r\n }\r\n\r\n if (zipCode !== null && zipCode.trim() !== '') {\r\n infoBoxArray.push(`<span itemprop=\"postalCode\">${zipCode.trim()}</span>`);\r\n }\r\n\r\n infoBoxArray.push('</p></div></div>');\r\n\r\n for (let a = 0; a < infoBoxArray.length; a += 1) {\r\n returnInfoBox += infoBoxArray[a];\r\n }\r\n\r\n return returnInfoBox.trim();\r\n },\r\n buildOfficeInfoBox(title, countyName, branchCode, lineOne, lineTwo, city, state, zipCode) {\r\n const infoBoxArray = [];\r\n let returnInfoBox = '';\r\n let builtTitle = title;\r\n\r\n if (branchCode !== '') {\r\n builtTitle += ` - ${branchCode.toUpperCase()}`;\r\n }\r\n\r\n infoBoxArray.push(`<div id=\"content\"><div id=\"bodyContent\"><p class=\"font-weight-bold\">${builtTitle}</p><p>`);\r\n\r\n if (lineOne !== null && lineOne.trim() !== '') {\r\n infoBoxArray.push(`<span itemprop=\"streetAddress\">${lineOne.trim()}</span><br />`);\r\n }\r\n\r\n if (lineTwo !== null && lineTwo.trim() !== '') {\r\n infoBoxArray.push(`${lineTwo.trim()}<br />`);\r\n }\r\n\r\n if (city !== null && city.trim() !== '') {\r\n infoBoxArray.push(`<span itemprop=\"addressLocality\">${city.trim()}</span>, `);\r\n }\r\n\r\n if (state !== null && state.trim() !== '') {\r\n infoBoxArray.push(`<span itemprop=\"addressRegion\">${state.trim()}</span> `);\r\n }\r\n\r\n if (zipCode !== null && zipCode.trim() !== '') {\r\n infoBoxArray.push(`<span itemprop=\"postalCode\">${zipCode.trim()}</span>`);\r\n }\r\n infoBoxArray.push('<br /><br />');\r\n\r\n if (branchCode !== '') {\r\n infoBoxArray.push(`<a href=\"/county/details/${this.replaceAll(countyName, ' ', '-').toLowerCase()}/${branchCode.toLowerCase()}\">More Information About This Office</a></p></div></div>`);\r\n } else {\r\n infoBoxArray.push(`<a href=\"/county/details/${this.replaceAll(countyName, ' ', '-').toLowerCase()}\">More Information About This Office</a></p></div></div>`);\r\n }\r\n\r\n infoBoxArray.push('</p></div></div>');\r\n\r\n for (let a = 0; a < infoBoxArray.length; a += 1) {\r\n returnInfoBox += infoBoxArray[a];\r\n }\r\n\r\n return returnInfoBox.trim();\r\n },\r\n isEmailAddress(str) {\r\n // eslint-disable-next-line no-useless-escape\r\n const regEx = new RegExp(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/igm);\r\n return regEx.test(str);\r\n },\r\n valueCheck(inputItem) {\r\n if (!inputItem) return false;\r\n if (inputItem === null) return false;\r\n return true;\r\n },\r\n doRedirect() {\r\n // eslint-disable-next-line no-lonely-if\r\n if (this.$store.getters['member/role'] !== 'I') {\r\n // Not the insured; go directly to Account Summary\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n } else if (this.$store.getters['member/conversionIndicator'] === true) {\r\n // Need to convert user name\r\n this.$router.push({ name: 'policyholderIdConversion' });\r\n } else if (this.$store.getters['member/verifiedIndicator'] === false) {\r\n // Need to verify email address\r\n this.$router.push({ name: 'policyholderEmailVerification' });\r\n } else if (this.$store.getters['member/resetIndicator'] === true) {\r\n // Need to reset password\r\n this.$router.push({ name: 'policyholderResetPassword' });\r\n } else if (this.$store.getters['app/accessPage'] !== null) {\r\n // We have a previous access page so go to it\r\n const savedAccessPage = this.$store.getters['app/accessPage'];\r\n const memberNumber = this.$store.getters['member/memberNumber'];\r\n\r\n this.$store.dispatch('policy/getAccountSummary', { sMemberNumber: memberNumber, sTfbId: this.trackingId })\r\n .then(() => {\r\n // Clear the access page\r\n this.$store.dispatch('app/setAccessPage', null);\r\n\r\n // Redirect to the access page\r\n this.$router.push(savedAccessPage);\r\n })\r\n .catch((error) => {\r\n if (error.toString().indexOf('status code 401') >= 0) {\r\n // Session has timed out, log out and go to login\r\n this.$store.dispatch('app/setIsLoading', true);\r\n // Clear the access page\r\n this.$store.dispatch('app/setAccessPage', null);\r\n this.$store.dispatch('member/doLogout')\r\n .then(() => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$router.push({ name: 'policyholderLogin' });\r\n })\r\n .catch((accessError) => {\r\n this.$store.dispatch('app/setIsLoading', false);\r\n this.$store.dispatch('app/setErrorMessage', accessError.toString());\r\n });\r\n }\r\n this.$store.dispatch('app/setErrorMessage', error.toString());\r\n });\r\n } else {\r\n // Go to Account Summary\r\n this.$router.push({ name: 'policyholderAccountSummary' });\r\n }\r\n },\r\n doStatusCheck() {\r\n if (this.$store.getters['member/resetIndicator'] === true) {\r\n // Need to reset password\r\n this.$router.push({ name: 'policyholderResetPassword' });\r\n } else if (this.$store.getters['member/conversionIndicator'] === true) {\r\n // Need to convert user name\r\n this.$router.push({ name: 'policyholderIdConversion' });\r\n } else if (this.$store.getters['member/verifiedIndicator'] === false) {\r\n // Need to verify email address\r\n this.$router.push({ name: 'policyholderEmailVerification' });\r\n }\r\n\r\n return true;\r\n },\r\n scrollToTop() {\r\n window.scrollTo(0, 0);\r\n },\r\n },\r\n};\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentAccess.vue?vue&type=style&index=0&id=69bf3188&prod&lang=scss\"","export default {\r\n data() {\r\n return {\r\n metaTitleTemplate: '%s | Texas Farm Bureau Insurance',\r\n siteName: 'Texas Farm Bureau Insurance',\r\n twitterHandle: '@TXFBInsurance',\r\n defaultMetaDescription: 'Protecting Texans for over 50 years, Texas Farm Bureau Insurance makes insurance effortless so you can focus on the moments truly worth covering.',\r\n defaultMetaKeywords: 'texas farm bureau insurance, texas auto insurance, texas home/property insurance, texas life insurance, texas health insurance, texas farm insurance, '\r\n + 'texas ranch insurance, texas protection, texas insurance, texas farm bureau, texas farm bureau about us, texas farm bureau protection, texas farm bureau insurance customers, '\r\n + 'texas farm bureau, home insurance, auto insurance',\r\n defaultHeaderImage: `${process.env.VUE_APP_ROOT_URI}/publishingimages/default-rural-banner.png`,\r\n };\r\n },\r\n metaInfo() {\r\n const metaArray = [\r\n { vmid: 'description', name: 'description', content: this.metaDescription ? this.metaDescription : this.defaultMetaDescription },\r\n // Facebook / OpenGraph data\r\n { property: 'og:title', content: this.metaPageTitle ? `${this.metaPageTitle} | ${this.siteName}` : this.siteName },\r\n { property: 'og:type', content: this.metaType ? this.metaType : 'website' },\r\n { property: 'og:url', content: this.metaUrl },\r\n { property: 'og:image', content: this.headerImage && this.headerImage !== '' ? this.headerImage : this.defaultHeaderImage },\r\n { property: 'og:description', content: this.metaDescription ? this.metaDescription : this.defaultMetaDescription },\r\n { property: 'og:site_name', content: this.siteName },\r\n { property: 'og:locale', content: 'en_US' },\r\n // { property: 'fb:admins', content: 'Facebook numberic ID' },\r\n // Twitter card (will fallback to Open Graph)\r\n { name: 'twitter:card', content: 'summary' },\r\n { name: 'twitter:site', content: this.twitterHandle },\r\n { name: 'twitter:title', content: this.metaPageTitle ? `${this.metaPageTitle} | ${this.siteName}` : this.siteName },\r\n { name: 'twitter:description', content: this.metaDescription ? this.metaDescription : this.defaultMetaDescription },\r\n { name: 'twitter:creator', content: this.twitterHandle },\r\n { name: 'twitter:image:src', content: this.headerImage ? this.headerImage : this.defaultHeaderImage },\r\n // Google / Schema.org markup:\r\n { itemprop: 'name', content: this.siteName },\r\n { itemprop: 'description', content: this.metaDescription ? this.metaDescription : this.defaultMetaDescription },\r\n { itemprop: 'image', content: this.headerImage ? this.headerImage : this.defaultHeaderImage },\r\n ];\r\n\r\n if (this.metaKeywords && this.metaKeywords !== '') {\r\n metaArray.push({ property: 'keywords', content: this.metaKeywords });\r\n }\r\n\r\n if (this.articlePublishTime && this.articlePublishTime !== '') {\r\n metaArray.push({ property: 'article:published_time', content: this.articlePublishTime });\r\n }\r\n\r\n if (this.articleModifiedTime && this.articleModifiedTime !== '') {\r\n metaArray.push({ property: 'article:modified_time', content: this.articleModifiedTime });\r\n }\r\n\r\n if (this.articleSection && this.articleSection !== '') {\r\n metaArray.push({ property: 'article:section', content: this.articleSection });\r\n }\r\n\r\n if (this.articleTags && this.articleTags.length > 0) {\r\n for (let t = 0; t < this.articleTags.length; t += 1) {\r\n metaArray.push({ property: 'article:tag', content: this.articleTags[t] });\r\n }\r\n }\r\n\r\n // If the metaNoIndex is set to a value or this is an environment other than Production, add\r\n // meta values to prevent indexing/following\r\n if ((this.metaNoIndex && this.metaNoIndex !== '') || (process.env.VUE_APP_WEB_ENV !== 'PROD' && process.env.VUE_APP_WEB_ENV !== 'DEV')) {\r\n metaArray.push({ name: 'robots', content: 'noindex,nofollow' });\r\n metaArray.push({ name: 'googlebot', content: 'noindex,nofollow' });\r\n } else {\r\n metaArray.push({ name: 'robots', content: 'index,follow' });\r\n metaArray.push({ name: 'googlebot', content: 'index,follow' });\r\n }\r\n\r\n return {\r\n title: this.metaPageTitle,\r\n titleTemplate: this.metaTitleTemplate,\r\n htmlAttrs: {\r\n lang: 'en',\r\n },\r\n link: [\r\n { rel: 'canonical', href: this.metaUrl },\r\n ],\r\n meta: metaArray,\r\n };\r\n },\r\n};\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSummary.vue?vue&type=style&index=0&id=bfcd4b5e&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceCloudPaymentMethods.vue?vue&type=style&index=0&id=9af47124&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentMap.vue?vue&type=style&index=0&id=ac297908&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentCards.vue?vue&type=style&index=0&id=3b6a0630&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileNavigation.vue?vue&type=style&index=0&id=10848214&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentContact.vue?vue&type=style&index=0&id=40cc4569&prod&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-row',{staticClass:\"pagin-holder\",attrs:{\"no-gutters\":\"\"}},[(_vm.previousPost !== null)?_c('v-col',{staticClass:\"pagin-icon\",attrs:{\"cols\":\"6\"}},[_c('router-link',{attrs:{\"to\":{ name: 'blogPost',\n params: { category: _vm.kebabify(_vm.previousPost.urlCategory),\n title: _vm.kebabify(_vm.previousPost.url) } },\"hreflang\":\"en-us\"}},[_c('v-icon',[_vm._v(\"mdi-arrow-left-bold\")]),_vm._v(\" \"+_vm._s(_vm.previousPost.title)+\" \")],1)],1):_vm._e(),(_vm.nextPost !== null)?_c('v-col',{staticClass:\"next\",attrs:{\"cols\":\"6\"}},[_c('router-link',{attrs:{\"to\":{ name: 'blogPost',\n params: { category: _vm.kebabify(_vm.nextPost.urlCategory),\n title: _vm.kebabify(_vm.nextPost.url) } },\"hreflang\":\"en-us\"}},[_vm._v(\" \"+_vm._s(_vm.nextPost.title)+\" \"),_c('v-icon',[_vm._v(\"mdi-arrow-right-bold\")])],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-row no-gutters\r\n class=\"pagin-holder\">\r\n <v-col cols=\"6\"\r\n v-if=\"previousPost !== null\"\r\n class=\"pagin-icon\">\r\n <router-link :to=\"{ name: 'blogPost',\r\n params: { category: kebabify(previousPost.urlCategory),\r\n title: kebabify(previousPost.url) } }\"\r\n hreflang=\"en-us\">\r\n <v-icon>mdi-arrow-left-bold</v-icon> {{previousPost.title}}\r\n </router-link>\r\n </v-col>\r\n <v-col cols=\"6\"\r\n v-if=\"nextPost !== null\"\r\n class=\"next\">\r\n <router-link :to=\"{ name: 'blogPost',\r\n params: { category: kebabify(nextPost.urlCategory),\r\n title: kebabify(nextPost.url) } }\"\r\n hreflang=\"en-us\">\r\n {{nextPost.title}} <v-icon>mdi-arrow-right-bold</v-icon>\r\n </router-link>\r\n </v-col>\r\n </v-row>\r\n</template>\r\n<script>\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'BlogPost',\r\n mixins: [tfbHelperMixin],\r\n props: {\r\n id: {\r\n type: Number,\r\n required: true,\r\n },\r\n date: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n previousPost: null,\r\n nextPost: null,\r\n };\r\n },\r\n methods: {\r\n getPosts() {\r\n this.$store.dispatch('blog/getNextPost', { sId: this.id, sDate: this.date, sTfbId: this.trackingId })\r\n .then((nextPostResponse) => {\r\n this.nextPost = nextPostResponse;\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n this.$store.dispatch('blog/getPreviousPost', { sId: this.id, sDate: this.date, sTfbId: this.trackingId })\r\n .then((previousPostResponse) => {\r\n this.previousPost = previousPostResponse;\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n },\r\n },\r\n watch: {\r\n $route: 'getPosts',\r\n },\r\n created() {\r\n this.getPosts();\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n\r\n .pagin-holder {\r\n overflow: hidden;\r\n padding-top: 18px;\r\n padding-bottom: 6px;\r\n border-top: 1px solid $tfb-off-white;\r\n }\r\n\r\n .pagin-holder a {\r\n /*float: left;*/\r\n text-transform: uppercase;\r\n text-decoration: none;\r\n color: $tfb-blue;\r\n font-size: 12px;\r\n font-weight: 700;\r\n position: relative;\r\n /*padding-left: 30px;*/\r\n line-height: 100%;\r\n -webkit-transition: color .2s;\r\n transition: color .2s;\r\n /*letter-spacing: .5px;*/\r\n /*width: 48%;*/\r\n font-family: 'BS-bold', $body-font-family;\r\n }\r\n\r\n .pagin-holder a:hover {\r\n text-decoration: none;\r\n color: $tfb-darker-blue;\r\n }\r\n\r\n .pagin-holder .pagin-icon a i {\r\n color: $tfb-gray !important;\r\n }\r\n\r\n .pagin-holder .pagin-icon i:hover,\r\n .pagin-holder .pagin-icon a:hover {\r\n color: $tfb-darker-blue !important;\r\n text-decoration: none !important;\r\n }\r\n\r\n .pagin-holder .prev {\r\n text-align: left;\r\n /*padding: 0 30px 0 0;*/\r\n float: left;\r\n }\r\n\r\n .pagin-holder .prev i {\r\n left: 0;\r\n right: auto;\r\n }\r\n\r\n .pagin-holder .next {\r\n text-align: right;\r\n /*padding: 0 30px 0 0;*/\r\n float: right\r\n }\r\n\r\n .pagin-holder .next i {\r\n left: auto;\r\n right: 0\r\n }\r\n\r\n @media print {\r\n .pagin-holder {\r\n display: none !important\r\n }\r\n }\r\n a.prev > i:hover,\r\n a.next > i:hover {\r\n color: $tfb-darkest-blue;\r\n text-decoration: none !important;\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Pagination.vue?vue&type=template&id=38bc2fcf&scoped=true\"\nimport script from \"./Pagination.vue?vue&type=script&lang=js\"\nexport * from \"./Pagination.vue?vue&type=script&lang=js\"\nimport style0 from \"./Pagination.vue?vue&type=style&index=0&id=38bc2fcf&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"38bc2fcf\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorMessage.vue?vue&type=style&index=0&id=70629609&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintDate.vue?vue&type=style&index=0&id=6dd7294e&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogMain.vue?vue&type=style&index=0&id=c56d6878&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressSidebar.vue?vue&type=style&index=0&id=1b210cbe&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StarDivider.vue?vue&type=style&index=0&id=6ebfbf18&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PolicyDetails.vue?vue&type=style&index=0&id=1c067e10&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CountyDetails.vue?vue&type=style&index=0&id=6472d230&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Disclaimer.vue?vue&type=style&index=0&id=7b0b5f47&prod&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"post-sidebar\"}},[(_vm.displayLocation === 'side' && _vm.posts.length > 0)?_c('aside',{attrs:{\"id\":\"sidebar\"}},_vm._l((_vm.posts),function(post){return _c('section',{key:post.id,staticClass:\"post\"},[_c('router-link',{staticClass:\"link-stretched\",attrs:{\"to\":{ name: 'blogPost',\n params: { category: _vm.kebabify(post.urlCategory),\n title: _vm.kebabify(post.url) } },\"hreflang\":\"en-us\"}}),_c('div',{staticClass:\"image-block\"},[_c('router-link',{attrs:{\"to\":{ name: 'blogPost',\n params: { category: _vm.kebabify(post.urlCategory),\n title: _vm.kebabify(post.url) } },\"hreflang\":\"en-us\"}},[_c('v-img',{attrs:{\"height\":\"200px\",\"src\":post.headerImage}})],1)],1),_c('div',{staticClass:\"holder-text\"},[_c('router-link',{staticClass:\"category-link\",attrs:{\"to\":{ name: 'blogFeedCategory',\n params: { category: _vm.kebabify(post.category) } },\"hreflang\":\"en-us\"}},[_vm._v(\" \"+_vm._s(post.category)+\" \")]),(post.subcategory && post.subcategory !== null && post.subcategory !== '')?_c('span',{staticClass:\"category-text\"},[_vm._v(\"   /   \")]):_vm._e(),(post.subcategory && post.subcategory !== null && post.subcategory !== '')?_c('router-link',{staticClass:\"category-link\",attrs:{\"to\":{ name: 'blogFeedSubCategory',\n params: { category: _vm.kebabify(post.category), subcategory: _vm.kebabify(post.subcategory) } },\"hreflang\":\"en-us\"}},[_vm._v(\" \"+_vm._s(post.subcategory)+\" \")]):_vm._e(),_c('h3',{staticClass:\"title-post\"},[_vm._v(\" \"+_vm._s(post.title)+\" \")])],1)],1)}),0):_vm._e(),(_vm.displayLocation === 'bottom' && _vm.posts.length > 0)?_c('div',{staticClass:\"more-posts\"},[_vm._m(0),_c('div',{staticClass:\"article-post\"},_vm._l((_vm.posts),function(post){return _c('div',{key:post.id,staticClass:\"post-item\"},[_c('div',{staticClass:\"img-post\"},[_c('router-link',{attrs:{\"to\":{ name: 'blogPost',\n params: { category: _vm.kebabify(post.urlCategory),\n title: _vm.kebabify(post.url) } },\"hreflang\":\"en-us\"}},[_c('v-img',{attrs:{\"height\":\"200px\",\"src\":post.headerImage}})],1)],1),_c('strong',[_c('router-link',{staticClass:\"post-title\",attrs:{\"to\":{ name: 'blogPost',\n params: { category: _vm.kebabify(post.urlCategory),\n title: _vm.kebabify(post.url) } },\"hreflang\":\"en-us\"}},[_vm._v(\" \"+_vm._s(post.title)+\" \")])],1)])}),0)]):_vm._e()])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"strip-holder\"},[_c('span',{staticClass:\"band-strip\"},[_c('strong',{staticClass:\"title-strip\"},[_vm._v(\" Related Articles \")])])])\n}]\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"post-sidebar\">\r\n <aside id=\"sidebar\"\r\n v-if=\"displayLocation === 'side' && posts.length > 0\">\r\n <section class=\"post\"\r\n v-for=\"post in posts\"\r\n v-bind:key=\"post.id\">\r\n <router-link :to=\"{ name: 'blogPost',\r\n params: { category: kebabify(post.urlCategory),\r\n title: kebabify(post.url) } }\"\r\n class=\"link-stretched\"\r\n hreflang=\"en-us\"></router-link>\r\n <div class=\"image-block\">\r\n <router-link :to=\"{ name: 'blogPost',\r\n params: { category: kebabify(post.urlCategory),\r\n title: kebabify(post.url) } }\"\r\n hreflang=\"en-us\">\r\n <v-img height=\"200px\"\r\n :src=\"post.headerImage\">\r\n </v-img>\r\n </router-link>\r\n </div>\r\n <div class=\"holder-text\">\r\n <router-link :to=\"{ name: 'blogFeedCategory',\r\n params: { category: kebabify(post.category) } }\"\r\n class=\"category-link\"\r\n hreflang=\"en-us\">\r\n {{post.category}}\r\n </router-link>\r\n <span v-if=\"post.subcategory && post.subcategory !== null && post.subcategory !== ''\"\r\n class=\"category-text\">\r\n   /  \r\n </span>\r\n <router-link v-if=\"post.subcategory && post.subcategory !== null && post.subcategory !== ''\"\r\n class=\"category-link\"\r\n :to=\"{ name: 'blogFeedSubCategory',\r\n params: { category: kebabify(post.category), subcategory: kebabify(post.subcategory) } }\"\r\n hreflang=\"en-us\">\r\n {{post.subcategory}}\r\n </router-link>\r\n <h3 class=\"title-post\">\r\n {{post.title}}\r\n </h3>\r\n </div>\r\n </section>\r\n </aside>\r\n <div class=\"more-posts\"\r\n v-if=\"displayLocation === 'bottom' && posts.length > 0\">\r\n <div class=\"strip-holder\">\r\n <span class=\"band-strip\">\r\n <strong class=\"title-strip\">\r\n Related Articles\r\n </strong>\r\n </span>\r\n </div>\r\n <div class=\"article-post\">\r\n <div class=\"post-item\"\r\n v-for=\"post in posts\"\r\n v-bind:key=\"post.id\">\r\n <div class=\"img-post\">\r\n <router-link :to=\"{ name: 'blogPost',\r\n params: { category: kebabify(post.urlCategory),\r\n title: kebabify(post.url) } }\"\r\n hreflang=\"en-us\">\r\n <v-img height=\"200px\"\r\n :src=\"post.headerImage\">\r\n </v-img>\r\n </router-link>\r\n </div>\r\n <strong>\r\n <router-link :to=\"{ name: 'blogPost',\r\n params: { category: kebabify(post.urlCategory),\r\n title: kebabify(post.url) } }\"\r\n class=\"post-title\"\r\n hreflang=\"en-us\">\r\n {{post.title}}\r\n </router-link>\r\n </strong>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\n import { startCase } from 'lodash';\r\n import tfbHelperMixin from '@/mixins/helpers';\r\n\r\n export default {\r\n name: 'BlogSidebar',\r\n props: {\r\n category: {\r\n type: String,\r\n required: true,\r\n },\r\n subcategory: {\r\n type: String,\r\n required: true,\r\n },\r\n displayLocation: {\r\n type: String,\r\n required: true,\r\n },\r\n currentPostId: {\r\n type: Number,\r\n required: true,\r\n },\r\n },\r\n mixins: [tfbHelperMixin],\r\n data() {\r\n return {\r\n posts: [],\r\n loadBatchSize: 3,\r\n };\r\n },\r\n methods: {\r\n getPosts() {\r\n this.posts = [];\r\n this.$store.dispatch('blog/getRelatedPosts', {\r\n sCategory: startCase(this.category),\r\n sSubCategory: startCase(this.subcategory),\r\n sExcludeId: this.currentPostId,\r\n sDirection: (this.displayLocation === 'bottom' ? 'desc' : 'asc'),\r\n sTfbId: this.trackingId,\r\n })\r\n .then((foundPosts) => {\r\n this.posts = foundPosts;\r\n })\r\n .catch(() => {\r\n // Do nothing\r\n });\r\n },\r\n },\r\n watch: {\r\n $route: 'getPosts',\r\n },\r\n created() {\r\n this.getPosts();\r\n },\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n\r\n .strip-holder {\r\n text-align: center;\r\n padding-bottom: 10px;\r\n margin-top: -2px;\r\n margin-bottom: 10px;\r\n }\r\n\r\n .strip-holder .title-strip {\r\n color: $white;\r\n text-transform: uppercase;\r\n display: inline-block;\r\n padding: 3px 5px;\r\n background: $tfb-red;\r\n min-width: 64px;\r\n text-align: center;\r\n position: relative;\r\n }\r\n\r\n .strip-holder .title-strip:before, .strip-holder .title-strip:after {\r\n content: \"\";\r\n position: absolute;\r\n top: auto;\r\n right: auto;\r\n bottom: -13px;\r\n left: -42px;\r\n width: 89px;\r\n height: 39px;\r\n background: url(/PublishingImages/ribbon-left-blue.png) no-repeat;\r\n }\r\n\r\n .strip-holder .title-strip:after {\r\n position: absolute;\r\n top: auto;\r\n right: -42px;\r\n bottom: -13px;\r\n left: auto;\r\n background: url(/PublishingImages/ribbon-right-blue.png) no-repeat;\r\n }\r\n\r\n .article .strip-holder {\r\n clear: left;\r\n overflow: hidden;\r\n margin-bottom: 7px;\r\n }\r\n\r\n .article .strip-holder .band-strip {\r\n display: inline-block;\r\n position: relative;\r\n padding-bottom: 19px;\r\n }\r\n\r\n .article .strip-holder .band-strip:before, .article .strip-holder .band-strip:after {\r\n content: \"\";\r\n position: absolute;\r\n top: 50%;\r\n right: 100%;\r\n bottom: auto;\r\n left: auto;\r\n height: 1px;\r\n background: $tfb-off-white;\r\n width: 99999px;\r\n margin-right: 29px;\r\n }\r\n\r\n .article .strip-holder .band-strip:after {\r\n position: absolute;\r\n top: 50%;\r\n right: auto;\r\n bottom: auto;\r\n left: 100%;\r\n margin-left: 29px;\r\n }\r\n\r\n .article .strip-holder .title-strip {\r\n font-size: 11px;\r\n padding: 5px;\r\n min-width: 120px;\r\n }\r\n\r\n .article .strip-holder .title-strip:before, .article .strip-holder .title-strip:after {\r\n content: \"\";\r\n position: absolute;\r\n top: 11px;\r\n right: auto;\r\n bottom: auto;\r\n left: -29px;\r\n width: 61px;\r\n height: 27px;\r\n background: url(/PublishingImages/ribbon-left-red.png) no-repeat;\r\n }\r\n\r\n .article .strip-holder .title-strip:after {\r\n position: absolute;\r\n top: 11px;\r\n right: -29px;\r\n bottom: auto;\r\n left: auto;\r\n background: url(/PublishingImages/ribbon-right-red.png) no-repeat;\r\n }\r\n\r\n .event-holder .box .title-strip {\r\n font-size: 9px;\r\n line-height: 1;\r\n font-weight: 700;\r\n font-family: 'BS-light', $body-font-family;\r\n }\r\n\r\n .event-holder .box .title-strip:before,\r\n .event-holder .box .title-strip:after {\r\n content: \"\";\r\n display: inline-block;\r\n position: absolute;\r\n top: auto;\r\n right: auto;\r\n bottom: -5px;\r\n left: -16px;\r\n width: 33px;\r\n height: 14px;\r\n background: url(/PublishingImages/ribbon-small-left-red.png) no-repeat;\r\n }\r\n\r\n .event-holder .box .title-strip:after {\r\n position: absolute;\r\n top: auto;\r\n right: -16px;\r\n bottom: -5px;\r\n left: auto;\r\n background: url(/PublishingImages/ribbon-small-right-red.png) no-repeat;\r\n }\r\n\r\n @media print {\r\n .article .strip-holder {\r\n display: none\r\n }\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=1dfe0b00\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&id=1dfe0b00&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgentInfo.vue?vue&type=style&index=0&id=05168b66&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LinkList.vue?vue&type=style&index=0&id=5f7cf076&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClaimReportConfirm.vue?vue&type=style&index=0&id=fbbb8a48&prod&lang=scss\""],"sourceRoot":""}